成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

學(xué)習(xí) Next.js: 部署

laznrbfe / 2397人閱讀

摘要:原始文檔在現(xiàn)在搬過來學(xué)習(xí)入門學(xué)習(xí)頁面之間的導(dǎo)航學(xué)習(xí)使用共享組件學(xué)習(xí)創(chuàng)建動(dòng)態(tài)內(nèi)容學(xué)習(xí)使用路由掩碼創(chuàng)建干凈的學(xué)習(xí)干凈的服務(wù)器支持學(xué)習(xí)獲取數(shù)據(jù)學(xué)習(xí)部署部署要部署一個(gè)應(yīng)用程序當(dāng)然我們首先需要一個(gè)可部署的已經(jīng)開發(fā)完成的應(yīng)用程序以下面這個(gè)開發(fā)的小型博客

原始文檔在 https://github.com/developerw... 現(xiàn)在搬過來.

學(xué)習(xí) Next.js: 入門
學(xué)習(xí) Next.js: 頁面之間的導(dǎo)航
學(xué)習(xí) Next.js: 使用共享組件
學(xué)習(xí) Next.js: 創(chuàng)建動(dòng)態(tài)內(nèi)容
學(xué)習(xí) Next.js: 使用路由掩碼創(chuàng)建干凈的URL
學(xué)習(xí) Next.js: 干凈URL的服務(wù)器支持
學(xué)習(xí) Next.js: 獲取數(shù)據(jù)
學(xué)習(xí) Next.js: 部署

部署
要部署一個(gè)Next.js應(yīng)用程序, 當(dāng)然我們首先需要一個(gè)可部署的, 已經(jīng)開發(fā)完成的應(yīng)用程序. 以下面這個(gè)Next.js開發(fā)的小型博客為例, 來說明如何部署一個(gè)Next.js應(yīng)用程序.
git clone https://github.com/developerworks/next.js-blog.git
cd next.js-blog
yarn build
yarn start

這樣我們就就實(shí)現(xiàn)了一個(gè)Next.js應(yīng)用程序的部署. 簡單吧. 但是, 實(shí)際的產(chǎn)品環(huán)境可沒有這么簡單, 要解決很多問題, 比如:

隨操作系統(tǒng)的Reboot, 自動(dòng)啟動(dòng)Next.js應(yīng)用程序, 我們這里使用PM2來管理我們的Next.js進(jìn)程, 首先我們使用下面的命令啟動(dòng)這個(gè)Next.js應(yīng)用程序.

# 自定義Express服務(wù)器
# https://github.com/zeit/next.js/tree/master/examples/custom-server-express
NODE_ENV=production pm2 start ./server.js --interpreter ./node_modules/.bin/babel-node --watch src --name next-blog
# 默認(rèn)Next.js內(nèi)置的方式
NODE_ENV=production pm2 start npm --name "next-blog" -- start

其次, 運(yùn)行 pm2 save 保存進(jìn)程啟動(dòng)信息, 最后, 運(yùn)行pm2 startup創(chuàng)建系統(tǒng)啟動(dòng)服務(wù). 以Ubuntu 16.04為例, 它會(huì)創(chuàng)建一個(gè)名為pm2-www.service的SYSTEMD服務(wù).

通過 systemctl status pm2-www.service 可以查看PM2管理的Next.js應(yīng)用程序狀態(tài).

?  ~ systemctl status pm2-www.service
● pm2-www.service - PM2 process manager
   Loaded: loaded (/etc/systemd/system/pm2-www.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2017-08-31 15:17:30 CST; 3 days ago
     Docs: https://pm2.keymetrics.io/
  Process: 695 ExecStart=/usr/local/lib/node_modules/pm2/bin/pm2 resurrect (code=exited, status=0/SUCCESS)
 Main PID: 1195 (PM2 v2.6.1: God)
   CGroup: /system.slice/pm2-www.service
           ├─ 1195 PM2 v2.6.1: God Daemon (/home/www/.pm2)
           ├─ 1215 node ./node_modules/.bin/babel-node /usr/local/lib/node_modules/pm2/lib/ProcessContainerFork.js
           ├─ 1221 node ./node_modules/.bin/babel-node /usr/local/lib/node_modules/pm2/lib/ProcessContainerFork.js
           ├─ 1234 node ./node_modules/.bin/babel-node /usr/local/lib/node_modules/pm2/lib/ProcessContainerFork.js
...
...
...
Aug 31 15:17:30 iZwz99do2ak2kdy3324r6bZ systemd[1]: Started PM2 process manager.

到這兒, Next.js 應(yīng)用程序就部署完成了.

如何指定運(yùn)行的端口

Next.js 應(yīng)用程序默認(rèn)跑在3000端口上, 如果我們運(yùn)行一個(gè)Web門戶站點(diǎn), 那么我們需要把端綁定在80, 或443端口上.

注意: $PORT 在1024以下, 需要ROOT權(quán)限, 建議使用以sudo方式啟動(dòng)Nginx, 讓Ngnix作為Next的反向代理監(jiān)聽80,或443端口, Next監(jiān)聽其他端口. 而且對于HTTPS配置Nginx的證書也要比Next簡單得多, 并且可以作為一個(gè)通用的HTTPS解決方案, 降低后端應(yīng)用服務(wù)器的復(fù)雜度.

首先配置 package.json, 修改 scripts 為:

"scripts": {
  "start": "next start -p $PORT"
}

然后在項(xiàng)目目錄中啟動(dòng):

PORT=8000 yarn start
使用Nginx反向代理

當(dāng)然, 也可以不直接指定端口, 讓Next.js 應(yīng)用程序在Nginx反向代理后面跑.

location / {
  # default port, could be changed if you use next with custom server
  proxy_pass http://localhost:3000;

  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";
  proxy_set_header Host $host;
  proxy_cache_bypass $http_upgrade;

  # if you have try_files like this, remove it from our block
  # otherwise next app will not work properly
  # try_files $uri $uri/ =404;
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/85199.html

相關(guān)文章

  • 學(xué)習(xí) Next.js: 入門

    摘要:原始文檔在現(xiàn)在搬過來學(xué)習(xí)入門學(xué)習(xí)頁面之間的導(dǎo)航學(xué)習(xí)使用共享組件學(xué)習(xí)創(chuàng)建動(dòng)態(tài)內(nèi)容學(xué)習(xí)使用路由掩碼創(chuàng)建干凈的學(xué)習(xí)干凈的服務(wù)器支持學(xué)習(xí)獲取數(shù)據(jù)學(xué)習(xí)部署哪位分高的幫忙創(chuàng)建一個(gè)的標(biāo)簽謝謝現(xiàn)暫時(shí)放在標(biāo)簽下面了新建文章有時(shí)間限制一會(huì)全部發(fā)上來這是最近兩天 原始文檔在 https://github.com/developerw... 現(xiàn)在搬過來. 學(xué)習(xí) Next.js: 入門學(xué)習(xí) Next.js: ...

    Miracle 評論0 收藏0
  • 【翻譯】Next.js背后的哲學(xué)和設(shè)計(jì)

    摘要:無數(shù)的模板語言和框架應(yīng)運(yùn)而生但是技術(shù)始終被分割為前端和后端。這意味著一個(gè)頁面可以有很多的這并不會(huì)對其余的頁面有任何影響。提前綁定和編譯預(yù)測是一個(gè)非常有效的部署方式。最后,這是我們對于這個(gè)特定問題的貢獻(xiàn)。 Next.js 原文地址 Naoyuki Kanezawa (@nkzawa), Guillermo Rauch (@rauchg) 和 Tony Kovanen (@tonykova...

    plokmju88 評論0 收藏0
  • 學(xué)習(xí) Next.js: 使用路由掩碼創(chuàng)建干凈的URL

    摘要:原始文檔在現(xiàn)在搬過來學(xué)習(xí)入門學(xué)習(xí)頁面之間的導(dǎo)航學(xué)習(xí)使用共享組件學(xué)習(xí)創(chuàng)建動(dòng)態(tài)內(nèi)容學(xué)習(xí)使用路由掩碼創(chuàng)建干凈的學(xué)習(xí)干凈的服務(wù)器支持學(xué)習(xí)獲取數(shù)據(jù)學(xué)習(xí)部署使用路由掩碼創(chuàng)建干凈的在前面的課程中我們學(xué)到了如何使用查詢串創(chuàng)建動(dòng)態(tài)頁面一次為基礎(chǔ)我們一篇博客的 原始文檔在 https://github.com/developerw... 現(xiàn)在搬過來. 學(xué)習(xí) Next.js: 入門學(xué)習(xí) Next.js: ...

    silenceboy 評論0 收藏0
  • 學(xué)習(xí) Next.js: 頁面之間的導(dǎo)航

    摘要:原始文檔在現(xiàn)在搬過來學(xué)習(xí)入門學(xué)習(xí)頁面之間的導(dǎo)航學(xué)習(xí)使用共享組件學(xué)習(xí)創(chuàng)建動(dòng)態(tài)內(nèi)容學(xué)習(xí)使用路由掩碼創(chuàng)建干凈的學(xué)習(xí)干凈的服務(wù)器支持學(xué)習(xí)獲取數(shù)據(jù)學(xué)習(xí)部署頁面之間的導(dǎo)航現(xiàn)在我們知道了如何創(chuàng)建一個(gè)應(yīng)用程序并且運(yùn)行它我們的示例應(yīng)用程序只有一個(gè)簡單的頁面但 原始文檔在 https://github.com/developerw... 現(xiàn)在搬過來. 學(xué)習(xí) Next.js: 入門學(xué)習(xí) Next.js: ...

    layman 評論0 收藏0
  • 學(xué)習(xí) Next.js: 創(chuàng)建動(dòng)態(tài)內(nèi)容

    摘要:原始文檔在現(xiàn)在搬過來學(xué)習(xí)入門學(xué)習(xí)頁面之間的導(dǎo)航學(xué)習(xí)使用共享組件學(xué)習(xí)創(chuàng)建動(dòng)態(tài)內(nèi)容學(xué)習(xí)使用路由掩碼創(chuàng)建干凈的學(xué)習(xí)干凈的服務(wù)器支持學(xué)習(xí)獲取數(shù)據(jù)學(xué)習(xí)部署創(chuàng)建動(dòng)態(tài)頁面現(xiàn)在我們知道了如何使用多個(gè)頁面創(chuàng)建一個(gè)基本的應(yīng)用程序?yàn)榱藙?chuàng)建頁面我們需要在磁盤上創(chuàng)建 原始文檔在 https://github.com/developerw... 現(xiàn)在搬過來. 學(xué)習(xí) Next.js: 入門學(xué)習(xí) Next.js: ...

    caohaoyu 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<