[关闭]
@hx 2018-04-27T23:28:01.000000Z 字数 2101 阅读 1070

nginx

Others


安装nginx

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

负载均衡

  1. // localhost 可改
  2. upstream localhost {
  3. # 应用程序端口号,可写多个。
  4. server localhost:4000 weight=1;
  5. server localhost:4001 weight=1;
  6. }
  1. server {
  2. listen 80;
  3. server_name www.superhx.cn;
  4. location / {
  5. proxy_pass http://localhost;
  6. proxy_connect_timeout 500ms;
  7. # 设置header,远程ip地址
  8. proxy_set_header X-Real-IP $remote_addr;
  9. }
  10. }

静态代理

nginx.conf中有 include /etc/nginx/conf.d/*.conf;,去conf.d文件夹下添加自定义配置文件(随意命名,只要是.conf结尾即可。)
需要在域名解析中添加相应的二级域名解析。

  1. server {
  2. listen 80;
  3. server_name static.superhx.cn;
  4. root /home/static/;
  5. location / {
  6. index index.html;
  7. }
  8. # 匹配路由,可使用正则表达式
  9. location /v2 {
  10. # 设置文件过期时间
  11. expires 3d;
  12. }

https

主要配置如下,locationhttp 一样

  1. server {
  2. listen 443 ssl http2 default_server;
  3. listen [::]:443 ssl http2 default_server;
  4. server_name www.superhx.cn;
  5. root /usr/share/nginx/html;
  6. # 启用https服务器
  7. ssl on;
  8. # 指定服务器证书和私钥文件的位置
  9. ssl_certificate "conf/1_www.superhx.cn_bundle.crt";
  10. ssl_certificate_key "conf/2_www.superhx.cn.key";
  11. # 用于设置缓存的类型和大小,用于存储SSL会话。
  12. # shared:使用这种方式,所有的worker进程将会共享这个缓存,指定缓存大小的单位为字节:1MB能容纳4000个会话。每个共享缓存必须指定一个自己的名称(名称要唯一),这个共享的缓存可以用在多个虚拟主机中。
  13. ssl_session_cache shared:SSL:1m;
  14. ssl_session_timeout 10m;
  15. ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
  16. # 对于依赖于SSLv3和TLSv1协议的服务器密码,将会优先于客户端密码
  17. ssl_prefer_server_ciphers on;
  18. # 指定协议版本
  19. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  20. }

支持全站加密,在http的server里增加rewrite ^(.*) https://$host$1 permanent;

如果需要做https下的反向代理

  1. location / {
  2. # 这里的4000 需要搭配 upstream 使用。
  3. proxy_pass http://4000;
  4. proxy_set_header Host $host;
  5. proxy_set_header X-Real-IP $remote_addr;
  6. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  7. proxy_set_header X-Forwarded-Proto https;
  8. # 如果启用了socket io,需要添加下面2条指令。
  9. proxy_set_header Upgrade $http_upgrade;
  10. proxy_set_header Connection "upgrade";
  11. }

错误处理

  1. error_page 404 /404.html;
  2. location = /40x.html {
  3. }
  4. error_page 500 502 503 504 /50x.html;
  5. location = /50x.html {
  6. }

FTP

只需在 location中配置:

  1. location / {
  2. # FTP根目录
  3. root /home/ftp;
  4. # 自动目录列表(默认 off)
  5. autoindex on;
  6. # 该指令用于在目录列表中设定文件大小的格式。如果是以精确的大小显示,那么使用KB,如果是以取整表示,那么使用KB、MB、GB,默认以精确显示大小。
  7. autoindex_exact_size on;
  8. # 控制下载速度
  9. limit_rate 100k;
  10. index index.html;
  11. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注