@hx
2018-04-27T23:28:01.000000Z
字数 2101
阅读 1070
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;
}