nuxt.js項(xiàng)目部署服務(wù)器(nginx服務(wù)器,pm2線程守護(hù))

一:部署到服務(wù)器上

前提:nuxt是基于nodejs運(yùn)行的偎血,安裝node是第一步,因此確保已經(jīng)安裝 Node.js
(1) nuxt項(xiàng)目打包
詳細(xì)請(qǐng)移步nuxt官網(wǎng)
第一步、在本地 npm run build,會(huì)在.nuxt文件夾下生成dist文件;

第二步镀裤、把本地文件的.nuxt,static,package.json,nuxt.config.js,這四個(gè)文件夾放到服務(wù)器目錄文件下
比如我在服務(wù)器上創(chuàng)建了C:\inetpub\nuxt路徑卿樱。

第三步僚害、用cmd進(jìn)入目錄文件夾,安裝依賴

npm install -production

第四步繁调、運(yùn)行

npm start

此時(shí)運(yùn)行的是 http://localhost:1818;

目錄以及項(xiàng)目文件如下:

image.png

目錄及文件

此時(shí)項(xiàng)目在服務(wù)器的本地已經(jīng)可以訪問了萨蚕,但在外部網(wǎng)絡(luò)是無法進(jìn)行訪問的靶草。這時(shí)Nginx就可以出場了。
目的是通過域名訪問到nuxt服務(wù)(此處測試的域名為www.wfaceboss.top)

二:Nginx

(1) Nginx安裝
第一步岳遥、Nginx 的安裝步驟比較簡單奕翔,安裝在windows上推薦使用壓縮包的安裝方式,下載地址;(選擇穩(wěn)定版本)

第二步浩蓉、下載完成之后派继,進(jìn)行解壓可以看到如下文件結(jié)構(gòu)

第三步、雙擊nginx.exe 就啟動(dòng)了

在頁面輸入localhost妻往。出現(xiàn)如下界面則表示安裝成功互艾。默認(rèn)監(jiān)聽80端口號(hào)

第四步、若你的服務(wù)器上80端口被占用讯泣,則需要修改端口纫普,操作如下:(我這里是將80修改成81,注意修改的端口需要服務(wù)器后臺(tái)已經(jīng)開放)
修改nginx安裝目錄/conf/nginx.conf中的server配置


#user  nobody;
worker_processes 4;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
events {
     worker_connections 40960;
}
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;
    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;
    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}
    map $time_iso8601 $logdate {
        '~^(?<ymd>\\d{4}-\\d{2}-\\d{2})' $ymd;
        default                       'date-not-found';
    }
    include vhosts/*.conf;
    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;
    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;
    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;
    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;
    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}
     client_max_body_size 50m;
     client_body_buffer_size 60k;
     client_body_timeout 60;
     client_header_buffer_size 64k;
     client_header_timeout 60;
     error_page 400 /error/400.html;
     error_page 403 /error/403.html;
     error_page 404 /error/404.html;
     error_page 500 /error/500.html;
     error_page 501 /error/501.html;
     error_page 502 /error/502.html;
     error_page 503 /error/503.html;
     error_page 504 /error/504.html;
     error_page 505 /error/505.html;
     error_page 506 /error/506.html;
     error_page 507 /error/507.html;
     error_page 509 /error/509.html;
     error_page 510 /error/510.html;
     
     keepalive_requests 100;
     large_client_header_buffers 4 64k;
     reset_timedout_connection on;
     send_timeout 60;
     sendfile_max_chunk 512k;
     server_names_hash_bucket_size 256;

    // 主要就是這個(gè)好渠,不用看上面的(上面是默認(rèn)配置)
     upstream nodenuxt {
      server 127.0.0.1:3000; # nuxt 項(xiàng)目監(jiān)聽PC端端口
      keepalive 64;
    }
}

error_log "D:/Program Files/phpstudy_pro/WWW" crit;
worker_rlimit_nofile 100000;

(2)Nginx啟動(dòng)
在nginx根目錄下打開cmd命令窗口昨稼,啟動(dòng)Nginx

start nginx

www.wfaceboss.top_80.conf文件(配置線上網(wǎng)站的nginx)

server {
        listen        80;
        server_name  www.wfaceboss.top;
        root   "路徑";
        location / { // 主要是這里
            proxy_pass http://nodenuxt;
        }
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}

其他命令

nginx -s reload //重新載入nginx(當(dāng)配置信息發(fā)生修改時(shí))
 
nginx -s quit //停止ngix 
 
nginx -h 查看幫助信息

完成以上配置,當(dāng)你打開瀏覽器 輸入http://www.wfaceboss.top即可訪問到nuxt服務(wù)了拳锚。

注意:若是多次修改/conf/nginx.conf文件 后重啟nginx 假栓,在windows可能會(huì)出現(xiàn)多個(gè)nginx 進(jìn)程服務(wù),需要結(jié)束這些進(jìn)程霍掺,然后重啟方可解決匾荆。

通過上述的操作我們已經(jīng)實(shí)現(xiàn)用域名訪問nuxt服務(wù)了,但關(guān)閉服務(wù)器上nuxt運(yùn)行黑窗口時(shí)杆烁,服務(wù)就斷了牙丽,我們不能實(shí)時(shí)盯著他吧,因此就需要PM2進(jìn)行守護(hù)了兔魂。

三:pm2進(jìn)程管理

(1) pm2需要全局安裝

npm install -g pm2

(2) pm2啟動(dòng)nuxt項(xiàng)目(啟動(dòng)的是api)
--cd 到項(xiàng)目目錄
--啟動(dòng)

pm2 start ./node_modules/nuxt/bin/nuxt.js --name 項(xiàng)目名稱             (項(xiàng)目目錄的node_modules包)
// 如果是打包后上傳到服務(wù)器的
pm2 start ./server/index.js --name 項(xiàng)目名稱   (api入口文件)

注意:xxx是項(xiàng)目名稱烤芦,即package.json中的name
比如我當(dāng)前為:
pm2啟動(dòng)nuxt.png
(3) pm2其他命令

pm2 list
pm2 show 0                           #查看進(jìn)程詳細(xì)信息,0為PM2進(jìn)程id 
pm2 stop all                         #停止PM2列表中所有的進(jìn)程
pm2 stop 0                           #停止PM2列表中進(jìn)程為0的進(jìn)程
pm2 reload all                       #重載PM2列表中所有的進(jìn)程
pm2 reload 0                         #重載PM2列表中進(jìn)程為0的進(jìn)程
pm2 delete 0                         #刪除PM2列表中進(jìn)程為0的進(jìn)程
pm2 delete all                       #刪除PM2列表中所有的進(jìn)程

原文鏈接:https://blog.csdn.net/java_zdc/article/details/116939719

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末析校,一起剝皮案震驚了整個(gè)濱河市构罗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌智玻,老刑警劉巖遂唧,帶你破解...
    沈念sama閱讀 211,376評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異吊奢,居然都是意外死亡蠢箩,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門事甜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谬泌,“玉大人,你說我怎么就攤上這事逻谦≌剖担” “怎么了?”我有些...
    開封第一講書人閱讀 156,966評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵邦马,是天一觀的道長贱鼻。 經(jīng)常有香客問我,道長滋将,這世上最難降的妖魔是什么邻悬? 我笑而不...
    開封第一講書人閱讀 56,432評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮随闽,結(jié)果婚禮上父丰,老公的妹妹穿的比我還像新娘。我一直安慰自己掘宪,他們只是感情好蛾扇,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著魏滚,像睡著了一般镀首。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上鼠次,一...
    開封第一講書人閱讀 49,792評(píng)論 1 290
  • 那天更哄,我揣著相機(jī)與錄音,去河邊找鬼腥寇。 笑死成翩,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的花颗。 我是一名探鬼主播捕传,決...
    沈念sama閱讀 38,933評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼扩劝!你這毒婦竟也來了庸论?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,701評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤棒呛,失蹤者是張志新(化名)和其女友劉穎聂示,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體簇秒,經(jīng)...
    沈念sama閱讀 44,143評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鱼喉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扛禽。...
    茶點(diǎn)故事閱讀 38,626評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡锋边,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出编曼,到底是詐尸還是另有隱情豆巨,我是刑警寧澤,帶...
    沈念sama閱讀 34,292評(píng)論 4 329
  • 正文 年R本政府宣布掐场,位于F島的核電站往扔,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏熊户。R本人自食惡果不足惜萍膛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望嚷堡。 院中可真熱鬧蝗罗,春花似錦、人聲如沸麦到。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瓶颠。三九已至拟赊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間粹淋,已是汗流浹背吸祟。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留桃移,地道東北人屋匕。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像借杰,于是被迫代替她去往敵國和親过吻。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容