记录 Linxu 云服务器各种环境部署的点点滴滴~
安装步骤自行百度即可,比如菜鸟教程跟着步骤一步一步走,但是相对麻烦
yum install nginx
nginx # 启动
它会默认产生界面,如果你想要它显示指定产生的网站,需要手动配置
cd /etc/nginx
vim nginx.conf # 要配置的第一个文件
vim nginx.conf.default
# 然后输入 i,表示插入模式,之后的往下看
`我就可以填写 root: /root/html` # 这里一定要填写目录,建议写 `绝对路径`
index: index.html # 这里填写你要第一展示的页面,最好一个都不要改
nginx -s reload
nginx -s reload
nginx
我的服务器是在 腾讯云购买的,所以就可以直接在腾讯云申请的,所以我自然是在 腾讯云下申请的免费 https 的证书。申请好了下载下来是这样的
点开 nginx ,这两个文件等会要通过 xftp 上传上去的
一般是通过 yum 或者 apt-sudo 安装的 nginx 的目录会在 /etc/nginx
中,然后打开我们的 ftp 工具,进入到 /etc/nginx 目录下,将上面的 两个文件上传上去
vim nginx.conf
4. 改完这些配置之后,按下 esc
5. 然后输入 :wq 表示退出并保存,然后按下回车即可
6. 然后我们重启 nginx : nginx -s reload
7. 然后访问我们的服务器
成功了!!!
之前在群里资讯过大佬。大佬说,http 转 https 不建议使这样处理,应该重写
rewrite ^(.*)$ https://$host$1 permanent;
反向代理是这个什么东西,网上有很多科普,大家可以简单了解一下即可。
以我个人的理解来说
就是把其他端口或者服务器的服务反向代理至某个特定的端口,这样的话,别人就感觉不到这其实是其他地方地方提供的一个服务,这么说可能不是很好理解。
就以我搭建的项目来说,我在服务器上 127.0.0.1:2999 处开启另一个 http 服务,也就说,这个服务我可以在外网以 www.xxxx.xxx:2999 直接访问。但是我不希望别人通过端口访问我的项目,我可以让别人通过路径访问我特定的项目,我就可以在 nginx.conf 做如下配置
# 这个服务要写在 nginx.conf 的 server 外面
upstream node_server {
server 127.0.0.1:3030;
}
# 配置要访问的路径
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;
}