项目结构如图,
node项目,包含前端和服务端,打包后前端代码在dist文件夹里,可以直接拖动到服务器即可上线,可是node服务端如何发布到线上呢?
楼主问的问题挺大的。粗略地说,大概包含如下几个步骤。
就是在服务器上安装node运行时,以及全局依赖的node库。建议采用 nvm 进行安装,方便node版本管理。
如果服务器对访问外网有限制,可以参考笔者这篇 《Node服务一键离线部署》
大部分情况下,就是将你的项目目录打包上传到服务器的特定目录。无法用到 压缩、解压、文件上传 几个命令。也可以通过图形化工具进行上传,看楼主实际情况。
项目实际上线,一般需要用到进程管理器,比如 PM2,它可以帮你完成很多工作,比如进程管理、监控、重启、日志记录等。
使用很简单,可以参考 《PM2实用入门指南》
为了在服务器上灵活配置运行多个服务,一般还需要借助nginx之类的反向代理,进行请求转发。例子如下,楼主可以根据需求自行修改
server {
listen 80;
server_name www.example.com; # 你的域名
root /data/site; # 你的项目根路径
index index.html index.htm index.php;
location ^~ / { # 路径根据情况来
proxy_pass http://127.0.0.1:8080/oc/; # 假设你监听的是8080端口
}
}
一般node服务上线到服务器用pm2
维护,很方便监控进程的状态,也方便重启。
将后端代码上传到服务器 然后执行pm2 命令
pm2 start ./server/app.js
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决