nuxt項目部署


前提: 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;
   #     }
   #  }	

}

  

 

 四、總結


 

大概就這些東西了,經過自己的博客、公司的項目,算是第二次配置,今天藍燈忘了關,導致代理出錯,浪費好久才找到原因


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM