Nginx 服务器配置
- CentOS 7.5 环境下安装 Nginx
- 一、下载 Nginx
- 1.1 安装包安装 Nginx
- 1.2 包管理工(yum)具直接安装 Nginx
- 二、进入安装目录,修改服务器配置
- 三、Nginx 命令操作
- 四、nginx 配置 https 服务
- 4.1 为你的服务器申请 https 证书
- 4.2 打开 linux 服务器中 nginx 的目录下
- 4.3 文件上传了之后,回到终端
- 4.4 http 强制转换 https
- 五、Nginx 反向代理配置 (2020 5 24 更新)
- 一、下载 Nginx
CentOS 7.5 环境下安装 Nginx
记录 Linxu 云服务器各种环境部署的点点滴滴~
一、下载 Nginx
1.1 安装包安装 Nginx
下载 Nginx
安装步骤自行百度即可,比如菜鸟教程跟着步骤一步一步走,但是相对麻烦
1.2 包管理工(yum)具直接安装 Nginx
- 安装
yum install nginx
- 使用命令
nginx # 启动
- 使用平台的公网 ip 即可看看是否有界面,有的话就安装成功
它会默认产生界面,如果你想要它显示指定产生的网站,需要手动配置
二、进入安装目录,修改服务器配置
- 进入目录
cd /etc/nginx
- 打开 nginx.conf 的配置文件 和 nginx.conf.default,改一下网页显示的默认路径即可
vim nginx.conf # 要配置的第一个文件
vim nginx.conf.default
# 然后输入 i,表示插入模式,之后的往下看
- 或者将如下两个文件拖至本地
- 找到 Server 一项
- 为了保险起见,两个文件都稍微配置一下即可
- 比如我的静态 html 文件放在 root 目录里
`我就可以填写 root: /root/html` # 这里一定要填写目录,建议写 `绝对路径`
index: index.html # 这里填写你要第一展示的页面,最好一个都不要改
- 我的目录结构如下
- 然后重启 Nginx
nginx -s reload
- 大功告成,成功看到了我自己编写的界面
三、Nginx 命令操作
- 服务器重启命令
nginx -s reload
- 启动服务器
nginx
- 其他的服务遇到了再添加8,哈哈哈
四、nginx 配置 https 服务
nginx 配置 https 服务参考
4.1 为你的服务器申请 https 证书
我的服务器是在 腾讯云购买的,所以就可以直接在腾讯云申请的,所以我自然是在 腾讯云下申请的免费 https 的证书。申请好了下载下来是这样的
点开 nginx ,这两个文件等会要通过 xftp 上传上去的
4.2 打开 linux 服务器中 nginx 的目录下
一般是通过 yum 或者 apt-sudo 安装的 nginx 的目录会在 /etc/nginx
中,然后打开我们的 ftp 工具,进入到 /etc/nginx 目录下,将上面的 两个文件上传上去
4.3 文件上传了之后,回到终端
- 输入
vim nginx.conf
- 然后输入 i ,进入文本插入模式
- 把 端口为 443 部分的配置全部打开
4. 改完这些配置之后,按下 esc
5. 然后输入 :wq 表示退出并保存,然后按下回车即可
6. 然后我们重启 nginx : nginx -s reload
7. 然后访问我们的服务器
成功了!!!
4.4 http 强制转换 https
之前在群里资讯过大佬。大佬说,http 转 https 不建议使这样处理,应该重写
代码语言:javascript复制rewrite ^(.*)$ https://$host$1 permanent;
五、Nginx 反向代理配置 (2020 5 24 更新)
反向代理是这个什么东西,网上有很多科普,大家可以简单了解一下即可。
以我个人的理解来说
就是把其他端口或者服务器的服务反向代理至某个特定的端口,这样的话,别人就感觉不到这其实是其他地方地方提供的一个服务,这么说可能不是很好理解。
就以我搭建的项目来说,我在服务器上 127.0.0.1:2999 处开启另一个 http 服务,也就说,这个服务我可以在外网以 www.xxxx.xxx:2999 直接访问。但是我不希望别人通过端口访问我的项目,我可以让别人通过路径访问我特定的项目,我就可以在 nginx.conf 做如下配置
- 添加指定的服务,并配置服务地址 我们定义的服务名称为 node_server, 它代表的就是 127.0.0.1:3030 上的服务
# 这个服务要写在 nginx.conf 的 server 外面
upstream node_server {
server 127.0.0.1:3030;
}
- 反向代理服务 我们在 server 路径下,配置 location,用来指定我们服务的访问路径的
# 配置要访问的路径
location /shop/ {
proxy_pass http://node_server/; # 配置代理的服务
# 一般情况不用加下面的,如果你的项目是前后端分离的,就要加下面的这些
proxy_read_timeout 600s;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#解决https请求http资源不可用的情况
add_header Content-Security-Policy upgrade-insecure-requests;
# expires定义用户浏览器缓存的时间为1天,如果静态页面不常更新,可以设置更长,这样可以节省带宽和缓解服务器的压力
expires 30d;
# 指定项目资源路径
root /home/node/vue_shop_server/dist;
index index.html index.htm;
# try_files $uri $uri/ /index.html =404;
}
# 解决代理的资源无法访问的情况
location ~ .*.(js|css|img|png|jpg)$ {
proxy_pass http://127.0.0.1:3030;
}