本文最后更新于:2024-12-01T08:55:14+08:00
Nginx发音为”engine x”,是一种开源的高性能HTTP和反向代理服务器,负责处理Internet上一些最大站点的负载。它可用作HTTP和非HTTP服务器的独立Web服务器,负载平衡器,内容缓存和反向代理。
安装Nginx
调整防火墙
现在,您可以通过http://YOUR_IP在Web浏览器中打开来测试Nginx的安装。您应该看到默认的Nginx欢迎页面了。
目录说明
- 所有有关nginx的配置文件均在
/etc/nginx
目录中。
- Nginx的主要配置文件是
/etc/nginx/nginx.conf
。
- 为每个域创建一个单独的配置文件使服务器易于维护。
- Nginx服务器阻止文件必须以
.conf
结尾并存储在/etc/nginx/conf.d
目录中。您可以根据需要拥有任意数量的服务器块。
- 遵循标准命名规范。如果域名为
mydomain.com
,则配置文件名称应为mydomain.com.conf
.
- 如果在域服务器块中使用可重复的配置段,则最好将这些段重构为片段。
- Nginx日志文件(access.log和error.log)位于/var/log/nginx/目录中。建议有不同access和error日志文件每个服务器模块。
- 您可以将域文档的根目录设置为所需的任何位置。webroot的最常见位置包括:
- /home/
<user_name>
/<site_name>
- /var/www/
<site_name>
- /var/www/html/
<site_name>
- /opt/
<site_name>
- /usr/share/nginx/html
配置文件结构
打开conf文件夹的nginx.conf文件,Nginx服务器的基础配置,默认的配置也存放在此。
在 nginx.conf 的注释符号为: #
默认的 nginx 配置文件 nginx.conf 内容如下:
文件结构大致如下:
- 全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。
- events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。
- http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。
- server块:配置虚拟主机的相关参数,一个http中可以有多个server。
- location块:配置请求的路由,以及各种页面的处理情况。
以下为常见配置与解释:
几个常见的配置项:
$remote_addr
与 $http_x_forwarded_for
用以记录客户端的ip地址;
$remote_user
:用来记录客户端用户名称;
$time_local
: 用来记录访问时间与时区;
$request
: 用来记录请求的url与http协议;
$status
: 用来记录请求状态;成功是200;
$body_bytes_sent
:记录发送给客户端文件主体内容大小;
$http_referer
:用来记录从那个页面链接访问过来的;
$http_user_agent
:记录客户端浏览器的相关信息;