@hx
2018-04-27T15:28:01.000000Z
字数 2101
阅读 1232
Others
yum -y install nginx
启动 service nginx start
停止 service nginx stop
重启 service nginx restart
测试nginx配置 nginx -t
配置文件目录 /etc/nginx/nginx.conf
index 路径 /usr/share/nginx/html
nginx.conf下添加:
// localhost 可改upstream localhost {# 应用程序端口号,可写多个。server localhost:4000 weight=1;server localhost:4001 weight=1;}
nginx.conf中有 include /etc/nginx/conf.d/*.conf;,去conf.d文件夹下添加自定义配置文件
server {listen 80;server_name www.superhx.cn;location / {proxy_pass http://localhost;proxy_connect_timeout 500ms;# 设置header,远程ip地址proxy_set_header X-Real-IP $remote_addr;}}
在nginx.conf中有 include /etc/nginx/conf.d/*.conf;,去conf.d文件夹下添加自定义配置文件(随意命名,只要是.conf结尾即可。)
需要在域名解析中添加相应的二级域名解析。
server {listen 80;server_name static.superhx.cn;root /home/static/;location / {index index.html;}# 匹配路由,可使用正则表达式location /v2 {# 设置文件过期时间expires 3d;}
主要配置如下,location 和http 一样
server {listen 443 ssl http2 default_server;listen [::]:443 ssl http2 default_server;server_name www.superhx.cn;root /usr/share/nginx/html;# 启用https服务器ssl on;# 指定服务器证书和私钥文件的位置ssl_certificate "conf/1_www.superhx.cn_bundle.crt";ssl_certificate_key "conf/2_www.superhx.cn.key";# 用于设置缓存的类型和大小,用于存储SSL会话。# shared:使用这种方式,所有的worker进程将会共享这个缓存,指定缓存大小的单位为字节:1MB能容纳4000个会话。每个共享缓存必须指定一个自己的名称(名称要唯一),这个共享的缓存可以用在多个虚拟主机中。ssl_session_cache shared:SSL:1m;ssl_session_timeout 10m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;# 对于依赖于SSLv3和TLSv1协议的服务器密码,将会优先于客户端密码ssl_prefer_server_ciphers on;# 指定协议版本ssl_protocols TLSv1 TLSv1.1 TLSv1.2;}
支持全站加密,在http的server里增加rewrite ^(.*) https://$host$1 permanent;
如果需要做https下的反向代理
location / {# 这里的4000 需要搭配 upstream 使用。proxy_pass http://4000;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto https;# 如果启用了socket io,需要添加下面2条指令。proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";}
错误处理
error_page 404 /404.html;location = /40x.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}
只需在 location中配置:
location / {# FTP根目录root /home/ftp;# 自动目录列表(默认 off)autoindex on;# 该指令用于在目录列表中设定文件大小的格式。如果是以精确的大小显示,那么使用KB,如果是以取整表示,那么使用KB、MB、GB,默认以精确显示大小。autoindex_exact_size on;# 控制下载速度limit_rate 100k;index index.html;}