如何使用nginx部署后台服务完整版

此教程只针对 centos7/8

pkill -9 nginx 杀掉nginx
nginx -c /usr/local/nginx/conf/nginx.conf 重启即可

linux sudo su 短暂获取root权限
      chmod -R 777 * 赋文件夹权限
安装
安装:yum install -y nginx
    安装的目录:/etc/nginx
    默认安装的日志目录:/var/log/nginx
    默认安装页面地址:/usr/share/nginx/html
启动:systemctl start nginx.service
配置开机自启:systemctl enable nginx.service
常用命令
启动:nginx
关闭:nginx -s stop/quit/reload(快速关闭、安全关闭、重载配置文件)
检测配置文件:nginx -t
配置示例
server {
listen 80;# 端口
server_name _;# 需要匹配的域名、ip

rewrite ^(.*) https://$host$1 permanent;# 所有的 http请求都转到 https
}

server {
    listen 443 ssl;
    server_name *.domain.com *.domain2.com;

    # https证书
    ssl_certificate    /etc/nginx/cret/domain.com.pem;
    ssl_certificate_key /etc/nginx/cret/domain.com.key;

#ssl性能调优
    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_timeout 10m;
    #使用ssl_session_cache优化https下Nginx的性能
    ssl_session_cache builtin:1000 shared:SSL:10m;
    #OCSP Stapling 开启。OCSP是用于在线查询证书吊销情况的服务,使用OCSP Stapling能将证书有效状态的信息缓存到服务器,提高 TLS 握手速度
    ssl_stapling on;
    #OCSP Stapling 验证开启
ssl_stapling_verify on;

root         /usr/share/nginx/html/temp;# 页面根目录

    # 默认匹配地址,继承上面的 root
location / {
}

    # 匹配所有的/api/**请求,代理到 47.253.45.88:8081服务器,并配置跨域
location /api/ {
if ($request_method = 'OPTIONS') {
add_header Access-Control-Allow-Origin  $http_origin always;
add_header Access-Control-Allow-Credentials 'true' always;
#add_header Access-Control-Allow-Headers '*' always;
add_header Access-Control-Allow-Headers 'cookie,set-cookie,token,x-requested-with,content-type,authorization,event-type,videoid,adid,withcredentials' always;
add_header Access-Control-Allow-Methods 'GET,POST,OPTIONS,DELETE,PUT,HEAD,PATCH' always;
add_header Access-Control-Max-Age '1800' always;
return 200;
}
add_header Access-Control-Allow-Origin  $http_origin always;
add_header Access-Control-Allow-Credentials 'true' always;
#add_header Access-Control-Allow-Headers '*' always;
add_header Access-Control-Allow-Headers 'cookie,set-cookie,token,x-requested-with,content-type,authorization,event-type,videoid,adid,withcredentials' always;
add_header Access-Control-Allow-Methods 'GET,POST,OPTIONS,DELETE,PUT,HEAD,PATCH' always;
proxy_pass http://47.253.45.88:8081/;
}

}

配置讲解
普通 location(前缀为 =、^~、@ 或则无前缀的)
正则 location(前缀为 ~ 或者 ~*)

当一个请求发送到 nginx,匹配到 server后,就会进入到 location模块,先匹配普通 location,后匹配正则 location(可以让普通 location终止继续匹配正则 location)
匹配规则:
1、遵循最大前缀匹配规则
location /x1 {…location1…}
location /x1/x2/x3 {…location2…}
localhost:8080/agroshop/x1/x2/x3 -->此时 location1匹配前缀为 1,location2匹配前缀为 3,则采用 location2的匹配结果。
2、=:严格匹配
location = / {
#只匹配 / 查询,连 /index.html都不匹配(优先级较高)
}
3、无符号:遵循最大前缀匹配规则(优先级较低)
location / {
#匹配所有请求,但正则表达式和大前缀将被优先匹配
}
4、^~:前缀,匹配后终止正则匹配
location ^~ /images/ {
#匹配所有以 /images/开头的所有请求,并停止下面的匹配,任何正则匹配将被忽略
}
5、~*:正则表达式
location ~* .(gif|jpg|swf)$ {
#匹配所有以 gif、jpg、swf结尾的请求
}
ROOT指令
如果 root指令为绝对路径,则 location将从这个绝对路径+请求路径 下获取文件
location /agroshop {
root /data/www; 
# <url>/agroshop/index.html时,本地对应 /data/www/agroshop/index.html
}
如果 root指令为相对路径,则location将从 /usr/local/nginx+请求路径下获取文件
proxy_pass代理转发
location / {
    # 所有的请求都转发到百度
proxy_pass http://www.baidu.com;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值