網域名稱二級目錄 指向 nextjs 應用

2021-10-06 21:14:45 字數 2127 閱讀 9117

應用場景: 考慮到多應用在乙個網域名稱下能提高該網域名稱的seo,所以選擇通過網域名稱二級目錄形式指向 nextjs應用,這裡需要修改 nginx 和 nextjs 配置
www.helloworld.com/nextjs 指向 nextjs 目錄

nextjs 埠 3000

pm2 管理production 環境

nextjs 路由跳轉都在 www.helloworld.com/nextjs 下跳轉

image 靜態資源 src 都為 www.helloworld.com/nextjs 路勁下

node 層 頁面指向都能在 www.helloworld.com/nextjs 下跳轉

區分開 production 環境和 dev 環境,dev 環境下 不配置nextjs 目錄

nginx (對映3000)

pm2 (pm2 管理 next production)

nextjs (next.config.js 配置修改)

www.helloworld.com/nextjs 需要重定向 到 nextjs 3000埠 並且 一系列js css image等資源請求都指向 3000 埠
修改nginx.conf 指向next 應用

server 

location /nextjs/

}

pm2 配置

配置環境 區分開發環境和生成環境
全域性安裝 pm2 : npm install pm2 -g

nextjs 目錄下建立 ecosyste.config.js並配置

module.exports = ,

env_production: ,

out_file: "./logs/out.log", // 普通日誌路徑

error_file: "./logs/err.log", // 錯誤日誌路徑

merge_logs: true,

log_date_format: "yyyy-mm-dd hh:mm z", // 設定日誌的日期格式

autorestart: true,

watch: false,

max_memory_restart: "1g",

},],

};

3.新增 npm scripts 生成啟動 指令碼, 修改package.json

...

"scripts" :

...

next 修改

修改next.config.js , next 配置檔案
封裝 路徑,達到不同環境返回不同basepath

const isprod = process.env.node_env === "production";

function getbasepath() else

} return basepath;

}

更改next.config.js配置

....

module.exports = ,

}publicruntimeconfig: ,

....

3.image 靜態 路徑

import getconfig from "next/config";

const = getconfig();

// image 標籤 url 為image 的路勁

4.link 路勁處理

import getconfig from "next/config";

const = getconfig();

//link 標籤 href 跳轉

跳轉

next 打包 : nm run build

production 啟動 專案: npm run production

pm2 日誌檢視 : pm2 logs

pm2 專案監看 : pm2 list

pm2 重啟: pm2 reload all

nginx下配置二級網域名稱指向子目錄

今天終於把nginx的二級網域名稱配置搞定了,哎之前在測試伺服器上弄過一次,不過那個是在本地解析的hosts,把ip指向到網域名稱上就ok,再在nginx.conf裡改了下配置就好了,用同樣的方法改了正式伺服器上的nginx.conf 忘了正式伺服器的是網域名稱,這個網域名稱是要dns解析的 導致耗...

Centos中二級網域名稱繫結二級目錄的方法

對於一些目錄,我們往往需要對其指定二級網域名稱,那麼具體如何操作呢?下面,我將用親身實踐來說明一下。由於第一次接觸centos,我不得不借助於網路資源。然後得知要開啟mod rewrite這個模組,具體方法如下 用文字編輯器開啟apache安裝目錄 etc httpd conf httpd.conf...

做自己的二級網域名稱指向系統

現在有些服務商提供了註冊乙個頂級網域名稱送20個二級網域名稱的服務,可是有的站長會覺得 不夠用,其實可以通過程式自己做二級網域名稱,就象 126.com一樣。一,泛網域名稱 最重要的,你需要乙個泛網域名稱,泛網域名稱是指dns會把所有 domain.com 是任意字 符 形式的網域名稱全部解析到乙個...