出售域名 11365.com.cn
有需要请联系 16826375@qq.com
在手机上浏览
在手机上浏览

Nginx操作

发布日期:2018-12-11

一、Nginx命令
帮助 nginx -?
查看版本 nginx -v|V
验证配置 nginx -t
启动 start nginx
重新加载 nginx -s reload
退出停止 nginx -s quit|stop
 
二、配置
 
有些应用(比如小程序)需要https访问,ssl证书可以到阿里云或者腾讯云申请免费证书。

https配置如下:
 

server {
listen 443; #监听ssl默认端口
server_name www.singoo.top; #访问的域名
 
ssl on;
ssl_certificate   cert/214550342890478.pem; #ssl证书文件
ssl_certificate_key  cert/214550342890478.key; #ssl证书文件
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #加密方式
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #支持的ssl协议
ssl_prefer_server_ciphers on;
 
location / {
proxy_pass http://localhost:8100; #被代理的网址
proxy_redirect off;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header  X-Real-IP  $remote_addr; 
}
}

 
-----------------
 
http转https
上面让访问https转发到了iis的网站。这里让http跳转到https,也就是说访问http会直接跳转到https。
配置如下:
 

server {
    listen 80;
    server_name  www.singoo.top;
    rewrite ^(.*) https://$server_name$1 permanent;
}

 

server {
    listen 80;
    server_name www.singoo.top;
    return 301 https://$server_name$request_uri;
}

 
当访问http://www.singoo.top时会自动跳转到https://www.singoo.top
 
-----------------
 
负载均衡
网站集群达到负载均衡的目的
配置如下:

server {
    listen 80;
    server_name  www.singoo.top;
 
location / {
            root   html;
            index  default.aspx index.html;
 
            #其中www.singoo.top 对应着upstream设置的集群名称
            proxy_pass http://www.singoo.top;
            #设置主机头和客户端真实地址,以便服务器获取客户端真实IP
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header  X-Real-IP  $remote_addr; 
    }
}
 
upstream www.singoo.top{ 
    server 39.108.247.193:8081 weight=1; #weight表示权重
    server 39.108.247.193:8082 weight=1; 
}

 
如果8081停止了,会自动显示8082的内容
 
三、运行说明
修改了配置文件需要运行 nginx -s reload 重新加载。
非常什得注意的是,windows平台下需要kill nginx的进程再运行才有效(如果进程还存在的话)
taskkill /fi "imagename eq nginx.exe" /f
然后 start nginx才有效果。