前段時間用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下面的原項目文件夾。