CentOS 7.6一键安装 nginx及生产跨域配置

1.运行一键安装命令

yum install -y make cmake gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel && wget http://nginx.org/download/nginx-1.12.2.tar.gz && tar zxvf nginx-1.12.2.tar.gz && cd nginx-1.12.2 && ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module && make && make install && ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

2.默认安装路径

/usr/local/nginx/sbin/nginx

3.启动

#启动
#1.直接启动
#进入nginx目录,执行启动命令
cd /usr/local/nginx/sbin
./nginx
# 或者直接
/usr/local/nginx/sbin/nginx
#2.指定配置文件方式启动
#进入nginx目录,执行启动命令
cd /usr/local/nginx/sbin
./nginx -c /usr/local/nginx/conf/nginx.conf
#或者
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

4.检查nginx配置文件

#进入nginx目录
cd /usr/local/nginx/sbin
#检查配置文件是否有语法操作
./nginx -t
# 或者显示指定配置文件
./nginx -t -c /usr/local/nginx/conf/nginx.conf

5.平滑的重启,修改配置后,重新加载配置

#进入nginx目录
cd /usr/local/nginx/sbin
#执行重载命令
./nginx -s reload

6.关闭nginx

#进入nginx目录
cd /usr/local/nginx/sbin
# 快速停止nginx
./nginx -s stop
# 完整有序的停止nginx,这个命令会等待所有请求结束后再关闭nginx
./nginx -s quit

7.reopen重新打开日志文件

#进入nginx目录
cd /usr/local/nginx/sbin
# 重新打开日志文件
./nginx -s reopen

8.其他命令重启、关闭nginx

# 查看进程号,下图  master的为主进程号
ps -ef | grep nginx
#从容停止Nginx
kill -QUIT 主进程号
#快速停止Nginx
kill -TERM 主进程号
#强制停止Nginx
pkill -9 nginx
#平滑重启nginx:
kill -HUP 主进程号

8. Nginx动静分离(静态资源和动态资源来自于不同的服务器)

后端服务器集群是动态数据的来源,nginx作为http服务器代理用来管理后端所需文件和静态资源,在nginx服务器中,准备好访问的静态资源可以通过域名url地址访问。
添加server案例(以Linux系统为例)

       server{

              listen 80;

              server_name www.image.com;#这里填写域名即可绑定域名

              location /{

                     root /home/static; #关键字root配置项为静态资源的根目录

                     index default.html #没有找到指定静态资源时默认访问的静态资源

              }

        }

具体流转过程如下:请求地址http://www.image.com/xyy.png匹配server中的location后将静态资源名称tp.png衔接在root配置项后,拼接成资源在Nginx服务器上的绝对地址/home/static/tp.png根据地址拿到静态资源返回到浏览器页面给用户展示。

root配置项:可以是文件夹绝对路径,如Linux (root /home/static)、Windows(root C:/static)。也可以是文件夹相对路径root static(表示在nginx安装的根目录有一个文件夹叫做static)。

index配置项:表示当访问请求匹配到location中的root后,在没有找到指定静态资源时默认访问的静态资源地址。index也可以配置多个静态资源,例如:index default1.html default2.html。如果静态资源/home/static/default1.html不存在则接着验证/home/static/default2.html是否存在,存在则用/default2.html在该server中发起内部重定向去重新匹配location)

9.生产跨域配置

proxy_pass

既是把请求代理到其他主机,其中 http://www.b.com/ 写法和 http://www.b.com写法的区别如下:

不带/

location /html/
{
  proxy_pass http: //b.com:8300; 
}

带/

location /html/ 
{ 
     proxy_pass http: //b.com:8300/; 
}

上面两种配置,区别只在于proxy_pass转发的路径后是否带 “/”。

针对情况1,如果访问url = http://server/html/test.jsp,则被nginx代理后,请求路径会便问http://proxy_pass/html/test.jsp,将test/ 作为根路径,请求test/路径下的资源。

针对情况2,如果访问url = http://server/html/test.jsp,则被nginx代理后,请求路径会变为 http://proxy_pass/test.jsp,直接访问server的根资源。

修改配置后重启nginx代理就成功了。

额外问题vue-cli 路由使用mode:"history"模式出错,请问是什么原因?

问题:nginx部署后使用项目history后对页面进行刷新后会显示nginx404页面
解决:nginx 配置下添加以下代码

location / {
  try_files $uri $uri/ /index.html;
}

参考链接:参考链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值