前端项目部署步骤全解

1. 通过 SSH 登录服务器

2. 安装 NVM

在 CentOS 系统中,可以通过以下命令安装 NVM(Node Version Manager):

复制代码
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash

安装完成后,需要重新加载 Shell 环境以生效:

复制代码
source ~/.bashrc

验证 NVM 是否安装成功:

复制代码
nvm --version
使用 NVM 安装 Node.js

安装最新版本的 Node.js(包含 npm):

复制代码
nvm install node

如果需要安装特定版本的 Node.js,例如 22.18.0:

复制代码
nvm install 22.18.0
切换 Node.js 版本

列出已安装的 Node.js 版本:

复制代码
nvm ls
验证 Node.js 和 npm 安装

检查 Node.js 版本:

复制代码
node -v

检查 npm 版本:

复制代码
npm -v

3. 安装 Nginx

安装命令:

复制代码
sudo yum -y install nginx

运行 Nginx:

复制代码
sudo systemctl start nginx

查看 Nginx 状态:

复制代码
sudo systemctl status nginx

设置开机启动 Nginx:

复制代码
sudo systemctl enable nginx

配置 Nginx:

配置前查一下服务器哪些端口被占用了:

复制代码
netstat -ntlp

将 Nginx 配置文件上传到指定目录:

复制代码
/etc/nginx/conf.d/

重新加载 Nginx(此时,如果前端项目文件未上传,可能会报错):

复制代码
sudo nginx -s reload

注:有些 Linux 系统会启用SELinux,Nginx 启用失败。解决方案如下:

关闭 SELinux:

复制代码
sudo setenforce 0

然后重启 Nginx:

复制代码
systemctl restart nginx

Rocky 服务器部署前端静态项目的注意点:

关闭 SELinux,以使得 Nginx 配置生效:

复制代码
sudo setenforce 0

打开对应端口防火墙:

复制代码
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent

reload 防火墙(特别重要):

复制代码
sudo firewall-cmd --reload

确认端口已开放:

复制代码
sudo firewall-cmd --list-all

修改前端项目文件的读取权限:

新建文件夹:

复制代码
sudo mkdir -p /path/to/your/site

检查文件所有权和权限:

复制代码
sudo ls -la /path/to/your/site

注意:一定要从根目录开始查看权限

如果需要修改权限:修改权限也要从根目录修改!!!

复制代码
sudo chmod 755 /path/to/your/site

验证是否 Nginx 能访问到目录:

复制代码
sudo -u nginx ls /path/to/your/site

4. 通过文件上传工具,将打包好的前端文件上传至指定目录(需要与 Nginx 配置文件中的位置一致)

5. 进入到对应的目录

复制代码
cd xxx/xxx

6. 解压前端文件包

复制代码
unzip xx.zip

7. 重新加载 nginx 配置文件

复制代码
nginx -s reload

8. 测试是否成功

测试地址:

复制代码
http://服务端IP:端口号
相关推荐
传奇开心果编程2 小时前
【Xilem 0.4 基础语法学与练】第15课:状态管理与 memoize 性能优化
学习·rust·前端框架
CharlesYu012 小时前
前端性能优化的第一性原理,是不断缩短“用户发起意图 → 获得可用结果”之间的时间
前端
平头哥技术团队3 小时前
Day 21 _ 页内锚点_给每段起个 id,目录写 href=_#id_,点一下页面就滚到那一段
前端·html·html5
子兮曰4 小时前
Bun v1.4.1 深度解析:从 Zig 到 Rust,一场 11 天、64 个 AI 代理的语言迁徙
前端·后端·bun
人民广场吃泡面4 小时前
什么是AI Agent?它又能给前端带来哪些效率提升?
前端·人工智能
中科三方4 小时前
两家域名注册商资质被ICANN终止:企业域名资产安全再受关注
前端·网络·安全·域名
bug总结5 小时前
uniapp vue3全局方法注册使用
前端·javascript·uni-app
华无丽言5 小时前
如何在宜搭中实现获取子表中的字段值赋值到父表中?
前端·javascript·低代码
IT_陈寒6 小时前
Vue的computed属性竟然坑了我一把
前端·人工智能·后端
威斯软科的老司机6 小时前
通俗讲解 CNN 图像识别、向量 Embedding、Softmax 概率计算这三块的简化原理
前端·人工智能·ui·数字孪生