巴拉巴

 找回密码
 立即注册

站内搜索

搜索
热搜: 活动 交友 discuz
查看: 23|回复: 0

nginx 虚拟主机介绍与配置(二)!

[复制链接]

3

主题

5

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2023-6-15 15:03:33 | 显示全部楼层 |阅读模式
本篇文章,接着为大家介绍“nginx 虚拟主机介绍与配置”的相关知识,如果没有看过之前的文章,建议大家在阅读这篇文章之前,先阅读一下这篇文章:
nginx 虚拟主机介绍与配置!| bbs实例
利用普通用户权限将不同业务进行彻底分离管理
1)配置nginx配置文件
# ls -ld /home/bbsdrwx------ 5 blog blog 114 7月 15 16:29 /home/blog# su - bbs$ tree.├── conf│ ├── extra│ │ └── 01_www.etiantian.org.conf│ └── nginx.conf├── html│ ├── 50x.html│ └── index.html└── logs ├── access.log ├── error.log └── nginx.pid主配置(注意路径)$ cat /home/bbs/conf/nginx.confuser blog;worker_processes 1;events { worker_connections 1024;}error_log /home/bbs/logs/error.log warn;pid /home/bbs/logs/nginx.pid;http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; include /home/bbs/conf/extra/*.conf;}虚拟主机配置(注意路径)$ vim /home/bbs/conf/extra/01_www.etiantian.org.confserver { listen 8082; server_name www.etiantian.org; location / { root /home/bbs/html; index index.html index.htm; }access_log /home/bbs/logs/access.log main;}$ cat /home/bbs/html/index.htmlbbs2)检查语法
$ /application/nginx/sbin/nginx -c /home/bbs/conf/nginx.conf -tnginx: [alert] could not open error log file: open "/application/nginx-1.20.1//logs/error.log" failed (13: Permission denied)2021/07/15 16:21:10 [warn] 1702#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /home/bbs/conf/nginx.conf:1nginx: the configuration file /home/bbs/conf/nginx.conf syntax is oknginx: configuration file /home/bbs/conf/nginx.conf test is successful特别提示:[warn] [alert] 并非错误,可以忽略3)启动并检查
$ /application/nginx/sbin/nginx -c /home/bbs/conf/nginx.conf &>/dev/null$ lsof -i :8082COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEnginx 1705 bbs 5u IPv4 27729 0t0 TCP *:tproxy (LISTEN)nginx 1706 bbs 5u IPv4 27729 0t0 TCP *:tproxy (LISTEN)Nginx常用模块
| 常用模块介绍
在生产环境中,配置、调整及优化Nginx软件,主要就是根据这些模块的功能修改相应的参数来实现的
通过官方地址可以查看到上述及更多模块的详细使用帮助,地址如下:
| 查看Nginx加载的模块
nginx -V| ngx_http_access_module模块
访问控制模块,用来控制网站用户对Nginx的访问
location / { allow 192.168.56.128/24; # 允许访问指定的网络或地址 deny all; # 拒绝对指定网络或地址的访问}
| ngx_http_gzip_module模块
对Nginx返回的数据压缩,属于性能优化模块
location / { gzip on; # 开启gzip压缩 gzip_comp_level 5; # 指定gzip压缩级别,级别范围为1-9 gzip_types text/plain application/javascript text/css image/png; # 指定过滤的MIME类型 gzip_proxied any; # 为所有代理请求压缩 gzip_http_version 1.1; # 指定支持http协议1.1版本 gzip_min_length 1000; # 压缩的响应的最小长度.以"Content-Length"为准进行比较}| ngx_http_fastcgi_module模块
fastcgi模块和动态应用相关的模块,例如PHP
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; # 将请求转给9000端口的应用程序处理 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 告诉php我们需要被解析的文件在哪个目录,是哪个文件 include fastcgi_params;}| ngx_http_proxy_module代理模块
proxy代理模块
| ngx_http_upstream_module模块
负载均衡模块,可以实现网站的负载均衡功能及节点的健康检查
ip 地址可以被upstream的别名替代
upstream blog { # blog为自定义的别名,做proxy代理可以用它替代IP地址 server 10.0.0.130 weight=1; # 权重,1为最大,优先访问权重大的服务器 server 10.0.0.128:81 weight=2;}| ngx_http_limit_conn_module模块
限制用户并发连接数及请求数模块
location / { limit_conn addr 1; # 限制并发连接为1 #限制下载速度 limit_rate_after 10m; # 下载达到10m,开始限速limit_rate 200k; # 限制速度为200K}
| ngx_http_log_module模块
访问日志模块,以指定的格式记录Nginx客户访问日志等信息
注意:
如果Nginx位于负载均衡器,nginx反向代理之后, web服务器无法直接获取到客 户端真实的IP地址
$remote_addr获取的是反向代理的IP地址
反向代理服务器在转发请求的http头信息中增加X-Forwarded-For信息,用来记录客户端IP地址和客户端请求的服务器地址
#配置语法: 包括: error.log access.logSyntax: log_format name [escape=default|json] string ...;Default: log_format combined "...";Context: http默认Nginx定义语法格式如下
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';Nginx日志格式中常用的变量
| ngx_http_autoindex_module模块
以目录的形式呈现文件内容,点击可深入浏览或下载
location / { autoindex on; #启用目录列表功能}
| ngx_http_auth_basic_module模块
Web认证模块,设置Web用户通过账号密码访问Nginx
location / { auth_basic "oldboyedu Auth access"; auth_basic_user_file /etc/nginx/auth_pass; # 密码存放文件}密码文件配置
| ngx_http_stub_status_module模块
记录Nginx基本访问状态信息等的模块
密码文件配置
location / { stub_status;}
状态信息说明:

来源:http://www.yidianzixun.com/article/0p4UY38L
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 返回顶部