基於Nuxt.js開發的wordpress主題,Nuxt.js是Vue.js 的輕量級應用框架,可用來創建服務端渲染 (SSR) 應用。相對於其它主題配置,有點不一樣,這個是屬於前後端完全分離,也就是前端需要單獨部署。
作者建議直接clone一份源碼在本地,修改之後再推到伺服器,這樣可以在本地先改好,能正常運行跑一下流程
如果想要更換主體風格可以編輯assets->scss->variable.scss文件中的$color-theme變量即可主題已集成代碼高亮,目前只下載了部分語言,如需要支持其他語言可自行下載,替換static/css/prism.css和static/js/prism.js即可,Prism.js下載地址
安裝node環境,如果node環境已有可以忽略這一步1、需要在伺服器安裝node環境,需要大於8.9的版本,使用wget命令下載Node.js安裝包,目錄可以放在root目錄,具體隨意。該安裝包是編譯好的文件,解壓之後,在bin文件夾中就已存在node和npm,無需重複編譯。
wget https://nodejs.org/dist/v10.9.0/node-v10.9.0-linux-x64.tar.xz2、解壓文件
tar xvf node-v10.9.0-linux-x64.tar.xz3、創建軟連結,使node和npm命令全局有效。通過創建軟連結的方法,使得在任意目錄下都可以直接使用node和npm命令。
ln -s /root/node-v10.9.0-linux-x64/bin/node /usr/local/bin/nodeln -s /root/node-v10.9.0-linux-x64/bin/npm /usr/local/bin/npm此已經安裝完成,使用node -v查看node版本,使用npm -v查看版本號,如果出現正確版本號則安裝成功,更多安裝文檔查看:https://help.aliyun.com/document_detail/50775.html?spm=5176.doc25426.6.655.kn1mB7
使用npm安裝其他的全局命令
npm i -g yarn pm2 這條命令是全局安裝yarn和pm2(如果安裝比較慢,可以使用淘寶鏡像安裝,npm i -g yarn pm2 --registry=https://registry.npm.taobao.org,後續的安裝都可以加上這個),如果執行了這一步操作,提示command not found: yarn或者command not found: pm2,可以使用下邊兩條命令:
ln -s /root/node-v10.9.0-linux-x64/bin/yarn /usr/local/bin/yarnln -s /root/node-v10.9.0-linux-x64/bin/pm2 /usr/local/bin/pm2運行項目1、將源碼目錄下的service放入wordpress主題目錄wp-content/theme/下,並啟用此主題,進入到主題設置,將站點前端域名設置為wordpress訪問地址,確保http://domain/wp-json能有正確的數據,所有wordpress接口都是在這個虛擬目錄下;如果訪問報錯可以嘗試在後臺設置=>固定連結設置為數字型嘗試;2、修改項目的一些配置,改為自己的信息,如下截圖,這一步不是必選的,可以安裝完成之後在修改:3、將源碼整個文件夾上傳到伺服器的網站根目錄即可,使用命令行工具進入到此目錄,執行yarn命令,這一步是安裝項目所需要的依賴文件,可能會比較慢;4、依賴安裝完成之後,執行yarn dev,如果能出現以下截圖代表能夠正常運行項目,然後用自己的域名或者IP訪問3000埠,這裡需要伺服器配置開通一個3000埠,如果能夠正常訪問按ctrl+c退出即可;5、使用yarn pm2這條命令去運行項目並開啟文件更改自動重載項目,pm2是node的一個守護進程,使用pm2 logs可查看日誌,至此通過http://domain:3000就能正常訪問了,更多說明查看https://segmentfault.com/a/11900000127746506、使用pm2 save保存當前的應用列表,使用pm2 startup開機自動啟動
使用Nginx或者Apache做反向代理到現在這一步為止都需要加上一個埠才能訪問到項目,這並不是我們需要的,我們需要用80或者443去訪問,所以需要用nginx或者apache去做代理,這一步需要自己了解一下nginx或者apache的配置,我也不是很會,所以我這裡貼出我的方法。
Tips: 先到資料庫找到wordpress的表wp_options,一般是第一條記錄也就是你的域名地址(siteurl欄位),改為你的域名+3002埠,因為後續wordpress只會作為一個cms管理系統,如果不理解歡迎留言或者聯繫我的QQ
1、使用nginx啟動一個埠,用於代替之前的wordpress訪問埠;查看代碼
server { listen 3002; server_name xuanmo.xin; root /htdocs/blog; location / { index index.php index.html index.htm; try_files $uri $uri/ /index.php?q=$uri&$args; } location ~ \.php$ { try_files $uri =404; include /etc/nginx/fastcgi.conf; # 一般此文件在nginx目錄下 fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }2、使用nginx監聽80或者443埠去代理nuxt服務,如果成功配置就到這裡結束了,80埠配置刪除ssl證書相關的東西即可
server { listen 80; listen 443; server_name www.xuanmo.xin xuanmo.xin; # 引入證書文件開始 ssl on; ssl_certificate /etc/xxx.pem; ssl_certificate_key /etc/xxx.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 / { # 這裡是每次訪問域名將請求轉發到3000埠 proxy_pass http://127.0.0.1:3000; } # 下邊兩個是代理wordpress的一些服務 location /wp-json { proxy_pass http://127.0.0.1:3002/wp-json; } location /wp-content { proxy_pass http://127.0.0.1:3002/wp-content; }}常用命令node -v 查看nodejs版本npm -v 查看npm版本npm i -g yarn 使用npm全局安裝yarnyarn 安裝項目依賴yarn dev 啟動nuxt開發模式,關閉終端或者使用ctrl+c就會終止,用於查看項目是否能正常啟動pm2 logs 查看實時pm2日誌,比如nuxt目錄的文件有更改時,可以查看打包進度yarn pm2 使用pm2啟動nuxt服務,並監聽目錄更改重新打包項目,註:每次伺服器重啟之後需要再次進入到nuxt項目目錄執行此命令,如果設置了開機啟動則不用重新執行pm2 save 保存當前應用列表pm2 startup 設置開機自啟
主題設置說明導航欄logo比例130px40px 首頁banner大圖尺寸比例710px320px,小圖尺寸比例180px100px 文章列表縮略圖的比例260px145px站點總導航的菜單名稱為Home,如果不是這個將獲取不到菜單,網站底部菜單名字為SubMenu
菜單前邊的圖標名字在菜單設置中的css類選項,如果沒有顯示此選項將右上角的顯示選項展開,打開css類即可
首頁友情連結在後臺連結管理添加一個分類,命名為首頁即可,後續添加的連結只要關聯此分類即可在首頁看見
說說在後臺添加即可,如果本條說說需要添加連結,在摘要處填入連結即可,說說訪問地址http://domain/phrase
nuxt目錄說明static 所有需要在根目錄訪問的文件可以存放在這裡,相當於網站根目錄,舉個慄子,/static/favicon.ico會被映射到網站根目錄
主題下載地址:Gitee