一、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才有效果。