CentOS Nginx安装及配置

文章推荐: 将本地文件上传到 Linux 服务器

安装

在 CentOS 上,可直接使用 yum 来安装 Nginx

yum install nginx -y

扩展: 卸载用 yum remove nginx

启动

安装完成后,使用 nginx 命令启动 Nginx (如果无法访问,请重试用 nginx -s reload 命令重启 Nginx)

nginx

此时访问服务器 IP 就可以看到 Nginx 的测试页面了

配置

外网用户访问服务器的 Web 服务由 Nginx 提供,Nginx 需要配置静态资源的路径信息才能通过 url 正确访问到服务器上的静态资源

Vim 编辑器打开 /etc/nginx/nginx.conf

找到 server

  • server_name 改为服务器ID
  • root 改为静态资源路径, 比如 /code/dist
# 全局块
...

# events块
events {         
   ...
}

# http块
http      
{
  # http全局块
  ...

  # 虚拟主机server块
  server {
    listen       80 default_server; # 监听HTTP端口
    listen       [::]:80 default_server;
    server_name  121.43.134.999; # 监听地址
    root         /code/dist; # 静态资源根目录

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
      # 跨域配置 start
      add_header Access-Control-Allow-Origin *;
      add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
      add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';

      if ($request_method = 'OPTIONS') {
        return 204;
      }
      # 跨域配置 end
    }

    error_page 404 /404.html;
      location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
      location = /50x.html {
    }

    # gzip
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_comp_level 5;
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    gzip_vary on;
    gzip_disable "MSIE [1-6]\.";

    # http全局块
    ...
}

配置文件将 /code/dist 作为所有静态资源请求的根路径,如访问: http://121.43.134.999/dist/index.js,将会去 /code/dist 目录下去查找 index.js

现在我们需要重启 Nginx 让新的配置生效,如:

nginx -s reload

我们在服务器 /code/dist 目录中创建或本地导入 index.html 文件之后, 就可以输入 ip 访问啦

扩展

Nginx 常用命令总结

命令 功能
nginx 启动
nginx -s stop 快速关闭
nginx -s quit 优雅的关闭
nginx 主进程会等待 worker 进程完成当前用户请求的处理
nginx -t 查看配置文件是否修改成功 (多用于配置文件修改之后)
nginx -s reopen 重新打开日志文件
nginx -s reload 重新启动
nginx -c filename 使用指定的配置文件 (default: /etc/nginx/nginx.conf)