前提: linux服務器
一、安裝node
① 下載
cd /usr/local/src/ wget https://nodejs.org/dist/v10.11.0/node-v10.11.0-linux-x64.tar.xz
② 解壓
方法一:
tar -zxvf node-v10.11.0-linux-x64.tar.xz // 如果失敗就用下面的方法二
備用方法二:
xz -d node-v10.11.0-linux-x64.tar.xz tar -xvf node-v10.11.0-linux-x64.tar
③ 重命名
mv node-v10.11.0-linux-x64 node
④ 環境變量
vim ~/.bash_profile // 打開文件后鍵盤輸入 i 即可開始編輯 PATH=$PATH:$HOME/bin // 修改前 PATH=$PATH:$HOME/bin:/usr/local/src/node/bin // 修改后(藍色是添加的,不要忘了連接符) 改完按鍵盤左上角Esc鍵並輸入 :wq (冒號+w+q,不要掉了冒號) 最后編譯剛剛修改的文件 source ~/.bash_profile
⑤ 測試
node -v npm -v
二、 安裝pm2
① 安裝
npm i -g pm2
② 開機自啟動
pm2 startup pm2 save
三、 nuxt打包上傳
① 本地打包
npm run build
② 上傳打包后文件(以服務器目錄 /web/nuxt 為例) 工具:xftp
③ 運行nuxt項目
cd /web/nuxt pm2 start npm --name "my-nuxt" -- run start // 初次運行項目用這行代碼,引號內是這個進程的名字
④ 管理項目
pm2 list # 查看當前正在運行的進程 pm2 start all # 啟動所有應用 pm2 restart all # 重啟所有應用 pm2 stop all # 停止所有的應用程序 pm2 delete all # 關閉並刪除所有應用 pm2 logs # 控制台顯示所有日志 pm2 start 0 # 啟動 id為 0的指定應用程序 pm2 restart 0 # 重啟 id為 0的指定應用程序 pm2 stop 0 # 停止 id為 0的指定應用程序 pm2 delete 0 # 刪除 id為 0的指定應用程序 pm2 logs 0 # 控制台顯示編號為0的日志 pm2 show 0 # 查看執行編號為0的進程 pm2 monit jsyfShopNuxt # 監控名稱為jsyfShopNuxt的進程
三、nginx 代理配置
特別提示:關閉藍燈等翻牆代理軟件!!!
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main "$remote_addr - $remote_user [$time_local] "$request" "
"$status $body_bytes_sent "$http_referer" "
""$http_user_agent" "$http_x_forwarded_for"";
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
#負載均衡服務器
upstream nuxt{
server localhost:3000 weight=5 max_fails=2 fail_timeout=600s; // 特別注意,這里是本機localhost,不能寫服務器公網ip
}
server {
listen 80;
server_name www.lzzj.online; // 網站域名
#charset koi8-r;
access_log logs/host.access.log main;
#location =/ {
# root /web/nuxt;
# return 302 /index.html;
# #index index.html;
#}
location / {
proxy_pass http://nuxt; // 代理到nuxt服務器
}
}
# server {
# listen 443;
# server_name localhost;
# ssl on;
# root html;
# index index.html index.htm;
# ssl_certificate cert/1539823761775.pem;
# ssl_certificate_key cert/1539823761775.key;
# ssl_session_timeout 5m;
# ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
# ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
# }
}
四、總結
大概就這些東西了,經過自己的博客、公司的項目,算是第二次配置,今天藍燈忘了關,導致代理出錯,浪費好久才找到原因