Centos7上部署Vue+Nodejs为后台的项目。
前段时间用Vue为前端,后台用Nodejs连接mongdb数据库开发了一套考试系统,现将如何把这套系统部署到centos上进行记录。
1.安装必要环境:npm,cnpm,mongdb,node。
2.npm install express-generator -g 安装express用于对Vue前端进行维护。
3.用express myproject新建一个本地的express项目。(myproject随便定义)
express myProject
4.进入项目:cd my project后运行 npm i导入相关依赖。
5.将Vue项目进行npm run build生成的dist文件下面的static和index.html放入myproject的public文件夹下面。public下面直接是index.html和static。
6.通过npm start运行myproject. 网址是:http://localhost:3000,(端口可改,我已改成8888)
二、运行Nodejs后台:
1.将整个项目放入需要部署的文件目录下面。
2.一般nodejs的代码在project/server里面。
3.进入project/server/bin文件夹。
4.通过node www方式启动该nodejs后台。
三、pm2后台管理项目
1.安装pm2,可以选择离线或者在线安装npm install pm2 -g
2.更新pm2 update
3.进入nodejs的project/server/bin 运行pm2 start www(后台运行了NodeJS服务)
4.进入之前新建的express项目的根目录新建一个ss.sh脚本。脚本内容为npm start.
5.运行pm2 start ss.sh即可。
四、nginx代理
1.安装Nginx(省略)
2.进入Nginx的配置文件nginx.conf
3.按照网上教程进行8889端口代理:
server{ listen 8889;//监听8889端口 # listen [::]:80 default_server; server_name NodeServer; # root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location ^~/api {//nodejs 接口(所有以api开头的连接走这里) proxy_pass http://106.15.202.171:3000;//nodejs运行的端口号 proxy_set_header HOST $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location / {//其他所有路径走这里(静态页面和资源) proxy_pass http://106.15.202.171:8888;//press运行的端口号。 } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
静态页面那里之所以走8888端口是因为我在express新建的myproject/bin里面的www文件里修改了项目的运行端口为8888。
本次我的项目部署路径:express项目在 /home/3001/Vue。Nodejs项目路径是/home下面的原项目文件夹。