Nginx 服务器配置教程


什么是 Nginx?

Nginx 的安装

  • 服务器环境:
CentOS 7.0
  1. 准备工作
  • SSL 功能安装 openssl 库:
yum install openssl
  • gzip 模块需要 zlib 库:
yum install zlib
  • rewrite 模块安装 pcre 库:
yum install pcre
  1. 安装 Nginx 依赖项和 Nginx
  • 安装 Nginx 需要的库 [此处注意下载链接的有效性]
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
  • 安装 Nginx:
yum install nginx
  • 启动 Nginx:
service nginx start
  1. 测试 Nginx 的有效性:浏览器访问本地/服务器端口,如下表示安装成功:
  • 服务器端注意开放 80 端口。

正确启动Nginx的界面

  1. 配置 Nginx 的文件位于:
/etc/nginx/

配置 Nginx

  1. 缺省配置:http -> server -> location,内层块自动继承外层块的内容。

  2. http 层次:/etc/nginx/nginx.conf

  • include 语句指明了下级配置文件的路径:当需要处理的 server 超过 2 个时,建议将不同虚拟机的配置放在不同文件中,通过在主配置文件的 include 指令进行选择。
http {
    ... ...
    include /etc/nginx/conf.d/*.conf;
    # include /etc/nginx/[name]/*.conf
}
  1. server 层次:/etc/nginx/conf.d/default.conf
  • url/ip 层次对发送的请求进行后端服务器的转发;
  • 通过构建虚拟主机(server)的概念,用 server_name 对服务进行配置隔离;
  • listen 用于确定监听的端口;
  • 对应于同一规则的多个域名可以使用空格进行分离。
server {
    listen       80;
    server_name  demo.tdingquan.top;

    access_log  /var/log/nginx/host.access.log  main;

    ... ...
}
  1. location 层次:/etc/nginx/conf.d/default.conf,包含在 server
  • 每个 url/ip 对应于一个服务,Nginx 对服务进行处理转发,转发路径通过 location 指定;
  • server 是对域名的指定,location 是对访问内容的指定;
  • index 用于设定访问的默认首页地址;
  • root 用于指定访问的根目录。
server {
    ... ...

    location / {
        root   /root/BoxEViz;
        index  main.html index.html index.htm;
    }
}
  • location 匹配规则:
~ 表示执行一个正则匹配,区分大小写;
~* 表示执行一个正则匹配,不区分大小写;
^~ 表示普通字符匹配
= 表示普通字符精确匹配

高级配置

  1. 服务转发
location / {
  proxy_pass [url]:[port];
}
  1. 负载均衡
upstream myserver; {
    ip_hash;
    server 172.16.1.1:8001;
    server 172.16.1.2:8002;
    server 172.16.1.3;
    server 172.16.1.4;
}
location / {
    proxy_pass http://myserver;
}

Nginx 配置文件正确性验证

nginx -t
nginx -tc [config_file_address]

遇到的问题

  1. 访问主页时,控制台报错:”403”;查看日志:open() "/data/www/1.txt" failed (13: Permission denied) ...
  • 检查 Nginx 的启动用户:/etc/nginx/nginx.conf
user root;

文章作者: 一汪白水
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 一汪白水 !
  目录