当我们之前的项目前后端代码编码完成。就要最后一步部署。我们先来看一下项目目录。
1.node_modules 依赖文件。这个是依据package.json安装的。前文介绍到,package.json记录生产和开发对应的依赖文件名及版本号。node_modules体积较大。对于这个项目来说就 150M,在上传服务器时建议先删除。
2. server 服务器代码 必须
3.static 静态资源 必须
4. .gitignore git上传忽略文件 可删
5 app.js 服务器文件 必须
6.index.html 前端入口文件 必须
7. package.json 项目依赖文件 必须
8. Readme.md 使用说明 可删
9.webpack.config.js 开发模式打包配置 可删
10. webpack.prod.config.js 生产模式 建议留下。
--------------------------------------
先把node_modules删掉,然后其他的体积较小也可以留下。之后通过 scp命令上传到服务器。
当上传完成时。ssh 登陆服务器。服务器这里需要预先配置下载node.js (版本 > 7.6).
然后用npm install 来安装依赖文件(推荐使用国内淘宝镜像)
然后注意将 app.js 里面的 cors的配置取消。然后注意修改请求的URL。之前是127.0.0.1 修改成服务器的公网IP。
之后执行 npm run product 生产模式构建前端代码……等待构建完成。
然后执行 nohup node app.js & 就可以程序以忽略挂起信号的方式运行起来
注意:1: lsof i:[port]用来查看该端口上执行的进程
2: kill -9 PID 用来关闭对应的进行 (用于关闭nohup 程序)
3: nohup node app.js & 跑起服务器程序后, 不能直接关闭终端,要执行exit,关闭ssh连接。才能保证程序的正常运行
这种ssh 是最基本的方法。会有环境依赖等问题。更合适的方法 要用到docker等技术