做系统ghost步骤图解_Ghost 博客搭建超全指南
本篇是一個純技術向的文章,需要你對計算機以及前端的知識進行一定的了解。一定會有人問:“都 2020 年了,做博客還有意義嗎?”,其實這個意義看你怎么看待了。在現今這個流量社會,人們的關注點都被吸引在了微信公眾號、微博、知乎等頭部平臺。如果你想在里面寫作,那么相對的就要遵守規則。
而建立自己的網站,某種意義上來說就是為了追尋自由,可以被搜索引擎收錄,可以與各式各樣入口的人交流,被觀察到。發展到現在,網站分為 靜態網站 和 動態網站內,最明顯的區別就是是否用到了 數據庫。有數據庫就意味著有后臺,就可以在線編輯,發布管理文章;但是對應的也需要很多其他的成本,比如說服務器。
Ghsot 簡介
Ghost 是一款基于 Node.js 語言和 MySql 數據庫的個人博客系統。其設計主旨是簡化個人網站發布以及網上出版的過程。創始人是 Wordpress 的前員工。從 2013 年發布第一個版本以來,到今年的 v3.0,功能越發的完善。如果你不喜歡 Wordpress 的臃腫,那 Ghost 無疑更加的適合你。
官方推薦配置:
- Ubuntu 16.04,Ubuntu 18.04 或 Ubuntu 20.04
- NGINX(支持 SSL 的最低版本為 1.9.5)
- 一個支持版本的 Node.js
- MySQL 5.7 或 8.0
- Systemd
- 至少有1GB內存的服務器
- 注冊域名
Ghost 安裝
目前為止我嘗試了三種安裝方式:
- 本地安裝:適合自己玩,體驗 Ghost;以及開發測試主題。
- 服務器部署:需要服務器和域名。
本地安裝
本地安裝的官方教程:https://ghost.org/docs/install/local/
主要分為三步:
安裝完成后,可以運行 ghost help 查看支持的命令列表。
首先建立一個空的文件夾,進入這個文件夾,運行以下命令:
ghost install local安裝完成后,可以訪問 http://localhost:2368 瀏覽新站點。
也可以訪問 http://localhost:2368/ghost 訪問 Ghost 的后臺。
服務器部署
來到了這一步,相信你已經有一定的心里準備了,那么開始吧。
- 我們要有一個自己的服務器,博主用的是阿里云。現在他們家也在進行雙十一的活動,一年85元,三年只需 255 元(注意:僅限新用戶)
- 登陸服務器
現在要首先確定下你的系統是否為 Ubuntu 16.04,Ubuntu 18.04 或 Ubuntu 20.04,如果是那么恭喜你,可以按照官方教程一步一步走。
Ghost 官方教程:https://ghost.org/docs/install/ubuntu/
如果不是,那么有以下兩個選擇:(不過這兩者是類似的,都是需要在 Nginx 這塊需要自己手動配置)
- 雖然是 Ubuntu 系統,但是已經安裝了寶塔等面板,那么安裝的時候會出現一些波折。不過幸運的是博主已經幫你踩了這些坑。
- Centos 等非官方推薦版本,那么同樣也要恭喜你,博主也已經幫你折騰完了,你只需要照著做就可以了。
安裝步驟 CentOS:
- 安裝必要的組件:
在進行接下來的步驟前,需要添加 Ghost 的數據庫及所屬用戶。在下面的 Ghost 安裝的過程中需要普通用戶進行操作,而普通用戶沒有權限登陸 MySQL,需要我們先配置好。Centos 和 Ubuntu 也需要進行這個操作!
mysql -uroot -p create database <數據庫名稱>; create user <數據庫用戶名> identified by '<數據庫密碼>'; grant all privileges on <數據庫名稱>.* to <數據庫用戶名>@'localhost' identified by '<數據庫密碼>'; flush privileges; exit- 安裝 Ghost-CLI
html sudo npm install ghost-cli@latest -g
安裝完成后,可運行命令 ghost help 查看命令列表。
- 安裝 Ghost
出于安全考慮,在接下來的操作中不能使用 root 用戶,所以我們要新建一個用戶,把下面的 <user> 換成用戶名(不要起名 ghos,容易起沖突)。
# Create a new user and follow prompts adduser <user># Add user to superuser group to unlock admin privileges usermod -aG sudo <user># Then log in as the new user su - <user>接著需要創建一個空文件夾,用來安裝 Ghost。
# We'll name ours 'ghost' in this example; you can use whatever you want sudo mkdir -p /var/www/ghost# Replace <user> with the name of your user who will own this directory sudo chown <user>:<user> /var/www/ghost# Set the correct permissions sudo chmod 775 /var/www/ghost# Then navigate into it cd /var/www/ghost安裝 Ghost。
ghost install安裝過程根據主機性能來決定,下面是選項配置講解:
- Enter your blog URL: 博客展示地址,格式:http(s):(www.)example.com,不支持ip地址。
- Enter your MySQL hostname: 數據庫主機地址,回車默認是 localhost。
- Enter your MySQL username: / Enter your MySQL password: 數據庫用戶名/密碼,上面安裝的數據庫用戶名是 root,密碼是自己設置的。
- Enter your Ghost database name: Ghost博客數據庫名
- Do you wish to set up "ghost" mysql user? 設置數據庫用戶名為ghost,這個為了避免權限太大導致數據瞎搞,Ghost官方推薦是y。
- Do you wish to set up Nginx? 自動化Nginx,推薦y。
- Do you wish to set up SSL? 配置SSL證書,推薦y,如果你有證書問題,請查看文章最下面的問題。
- Enter your email (For SSL Certificate):個人郵箱,配置ssl證書需要的郵箱地址。
- Do you wish to set up Systemd? 使用ghost進程管理工具,推薦y,個人覺得海星。
- Do you want to start Ghost? 啟動Ghost博客就可以進入網址訪問。
注意:
System checks failed with message: 'Linux version is not Ubuntu 16 or 18' Some features of Ghost-CLI may not work without additional configuration. For local installs we recommend using `ghost install local` instead. ? Continue anyway? Yes #提示系統不是ubuntu,是否繼續?當然- 還有個問題就是在安裝的過程中會碰到下載失敗的問題,再次安裝就會提示
如果可以正常啟動那么恭喜你,你已經可以訪問你的博客了。如果不可以那么大概率是 Nginx 配置的問題。那么接下來我們繼續
Nginx 配置
博主遇到的情況是,在 Ubuntu 上安裝寶塔面板,之后在面板里安裝的 Ghost,但是由于寶塔面板安裝的 Nginx 的默認位置與 Ghost 設置時的位置不一致,導致檢測不到,無法自動配置 Nginx,所以需要我們手動設置 Nginx 的配置文件。
CentOS 情況類似,也是 Ghost 設置安裝過程中無法檢測,自動配置文件,都需要我們手動配置。
我們需要先運行 nginx -t 來檢查下文件的路徑,比如我的顯示的是 /www/server/nginx/conf/nginx.conf。
博主的由于是寶塔面板,所以需要在 /www/server/panel/vhost/nginx 下新建一個配置文件,填入以下內容:
如果你的不是寶塔面板,可以在 /etc/nginx/conf.d/ 下新建文件填入!
server {listen 80;listen [::]:80;server_name huozk.com; #你的域名location / {proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Real-IP $remote_addr;proxy_set_header Host $http_host;proxy_pass http://127.0.0.1:2368;}location ~ .well-known{allow all;}client_max_body_size 50m; }填寫完成后,只需重啟下 Nginx 即可 systemctl restart nginx
SSL + HTTPS
如果你想為你的網站啟用 SSL,那么就需要在 Nginx 中額外監聽 443 端口,以及鏈接公鑰和私鑰。需要修改上述配置如下:
server {listen 80;listen 443 ssl;listen [::]:80;server_name huozk.com; #更改為你的域名ssl_certificate "/www/server/panel/vhost/ssl/huozk.com/_.huozk.com.crt";ssl_certificate_key "/www/server/panel/vhost/ssl/huozk.com/_.huozk.com.key";location / {proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Real-IP $remote_addr;proxy_set_header Host $http_host;proxy_pass http://127.0.0.1:2368;}#一鍵申請SSL證書驗證目錄相關設置location ~ .well-known{allow all;}client_max_body_size 50m; }到此,就大功告成了。你可以登錄后臺,跟著指引進行配置了。恭喜你,成為一名知識分享者!
多個域名設置
一般來說,我們都會用頂級域名來設置進入我們的博客,但是同時也會設置 www.huozk.com 這種方式來做另一個入口,那么我們需要怎么來做呢?
開發測試主題環境搭建
如果你想從零開發一個新的主題,那么非常推薦你看官方主題開發文檔:https://ghost.org/docs/api/v3/handlebars-themes/
如果你不想這么麻煩只想在官方主題的基礎上修改下樣式,那么可以按照以下步驟搭建環境:
5. 如果你需要開發和測試主題,那么需要進入開發模式
# Run build & watch for changes $ yarn dev
6. 之后進行打包,執行命令后會打包到 dist/<theme-name>.zip ,現在你可以在你部署的博客里上傳使用了。
yarn zip
END
總的來說,Ghost 雖然沒有 Wordpress 安裝那么輕松,但是其簡介大方的后臺和主題,還是很讓人值得嘗試的。而且使用了之后確實比 Wordpress 速度快(不過也和服務器帶寬等有關聯)。
參考鏈接
關注微信公眾號:huozk-com,查看更多關于技術、游戲、折騰的內容。
總結
以上是生活随笔為你收集整理的做系统ghost步骤图解_Ghost 博客搭建超全指南的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内存超频大揭秘:性能提升与稳定性对比
- 下一篇: 电脑性能提升秘籍:z97超频内存频率技巧