應用場景: 考慮到多應用在乙個網域名稱下能提高該網域名稱的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 是任意字 符 形式的網域名稱全部解析到乙個...