标签: Nginx Linux Windows 配置
描述: Ubuntu 下以及 Windows 下 Nginx 的配置;配置详解;有关 Nginx 如何配置
Nginx 在 Ubuntu 下的安装
sudo apt-get update sudo apt-get install nginx
如果遇到依赖问题,尝试执行 sudo apt-get -f install
命令进行修复
SSL 证书申请
我们需要为我们的域名以及子域名分别申请 SSL 证书,如过你用的是腾讯云服务器,可以点击此处进行申请,此处申请的免费 SSL 证书为单域名 SSL 证书,也就是说其只能用于一个域名,该域名下的子域名无法使用此证书,需另外申请。
申请完之后,等待申请通过,之后下载证书文件,解压缩,把里面对应于 Nginx 证书文件和私钥文件通过 scp 或者其他工具传到服务器的 /etc/nginx/
目录
Nginx 在 Ubuntu 16.04 下的配置概述
- 我们只需要更改位于
/etc/nginx/sites-enabled/
的 default 文件,首先对其进行备份sudo cp /etc/nginx/sites-enabled/default /etc/nginx/sites-enabled/default.backup
- 修改配置文件
/etc/nginx/sites-enabled/default
,可以直接使用 vi 编辑器,也可以使用 Visual Studio Code 的 Remote Explorer 功能,远程打开位于服务器上的文件,特别方便 - 参照以下代码进行修改
server { # 配置 http 自动跳转 https listen 80; server_name _; return 301 https://$host$request_uri; } server { listen 443; server_name iamazing.cn; # 你的域名 ssl on; ssl_certificate 1_iamazing.cn_bundle.crt; # 对于此域名的证书文件 ssl_certificate_key 2_iamazing.cn.key; # 对于此域名的的私钥 ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { proxy_pass http://localhost:3000; # 监听的地址 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } location /public { root /var/www/html; } } server { listen 443; server_name bookmark.iamazing.cn; # 你的子域名 ssl on; ssl_certificate 1_bookmark.iamazing.cn_bundle.crt; # 对于此域名的证书文件 ssl_certificate_key 2_bookmark.iamazing.cn.key; # 对于此域名的的私钥 ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { proxy_pass http://localhost:4000; # 监听的地址 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
- 验证配置是否正确:
sudo nginx -t
,如果没有报错,则重启 Nginx 服务:sudo service nginx restart
Nginx 在 Windows 10 下的配置
- 在此处下载:https://nginx.org/en/download.html
- 安装
- 备份配置文件,其位于 Nginx 根目录下的 conf 文件夹内,例如
D:\Others\nginx-1.14.2\conf\nginx.conf
- 申请 SSL 证书,并将证书文件和私钥文件放到
D:\Others\nginx-1.14.2\conf\
文件夹内 - 对配置文件进行如下修改
worker_processes 1; events { worker_connections 1024; } http { client_max_body_size 200M; include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; gzip on; server { # 配置 http 自动跳转 https listen 80; server_name _; return 301 https://$host$request_uri; } server { listen 443; server_name i.iamazing.cn localhost; ssl on; ssl_certificate 1_i.iamazing.cn_bundle.crt; # 对于此域名的证书文件 ssl_certificate_key 2_i.iamazing.cn.key; # 对于此域名的的私钥 ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { root d:/project/public; # 可以将一些 HTML 文件放到这个文件夹内 } } }
- 测试配置文件的正确性,在终端中打开 Nginx 的根目录,执行
./nginx -T
,无误后启动 Nginx:start nginx
- 常用命令
start nginx # 启动 nginx nginx -s quit # 终止 nginx nginx -s reload # 重启 nginx nginx -v # 查看版本
- 将 Nginx 配置为一项服务,这样它将开机自动启动,参考此处