本文主要讲一下在Linux系统环境下(以ubantu22.04为例),如何用nginx部署前端Vue项目打包的dist静态资源。有些具体的命令就不展开讲了,可以自行查看其他博主的文章,我主要讲整体的步骤和思路。
一、ubantu系统安装nginx
首先确保已经安装了nginx并开启,使用apt命令即可快速安装。
大概步骤:
# 注意以下命令都需要root账户
apt update # 更新软件
apt install nginx # 安装
systemctl status nginx # 验证安装,如果此时nginx已经运行,可以看到绿色的active(running)。
service nginx start # 如果没有运行,可以用这个命令重启一下。
nginx -v # 可以查看nginx版本
还有几件事要做:
1、开启服务器内防火墙对于6379端口的权限
命令: ufw allow 6379
命令: ufw status 可以看到所有已经开启访问权限的端口。
2、如果你想在服务器外(本地环境)访问连接6379端口,需要在你的云服务器安全组开放6379端口权限。
如果上面一切正常,在本地浏览器输入服务器公网IP就可以看到nginx的默认欢迎页面了。
当然这里可能会出现一些问题,我把可能遇到的情况列一下:
-
使用服务器IP无法访问到nginx默认页面
首先检查nginx是否正常启动,再检查防火墙和服务器安全组。如果这里没问题,很大概率是因为你的云服务器把80端口禁止了,有些云服务器是不允许在没有备案的情况下使用80端口的。这么说可能有点晕,因为nginx的本质是请求转发,刚安装好的nginx默认监听80端口,而80端口其实就是http访问的默认端口,所以直接可以用IP访问,而不需要输入:80,当然你需要打开云服务器安全组的80端口权限,如果安全组配置也没问题,但是依然访问不了,就可以问下云服务器的客服了,是不是未备案禁止使用80端口。
默认的nginx配置实际上就是监听80端口,当你访问服务器IP的时候,把请求转发到一个html默认页面,我们可以看一下默认配置,这里提一句,如果你是使用apt方式安装的,配置文件的位置大概都在 /etc/nginx/sites-available ,这下面的 default文件 就是默认配置了,我们可以打开看看内容。
如果80端口没备案用不了,可以像我一样配一个其他端口,然后再访问服务器IP:端口,这时候就能看到默认页面了(前提是你新加的端口号防火墙和安全组都已经开启)。 -
说几个关键的检查点:nginx是否正常启动,检查默认配置文件,检查80端口是否正常开启防火墙和云服务器安全组权限,检查云服务器提供厂商是否允许在没有备案的情况下使用80端口,我遇到的基本就是这些问题了。