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下面的原项目文件夹。