国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

從0開始搗鼓ghost blog

Null / 2647人閱讀

摘要:后記昨天第一次聽說,一時興起今天花了半天的時間從開始搗鼓,只會基本使用,也記不清多久沒碰過了,不涉及高級使用姿勢,像改主題改文件支持某些特性等等。

后記

昨天第一次聽說ghost,一時興起今天花了半天的時間從0開始搗鼓,node只會基本使用,js也記不清多久沒碰過了,不涉及高級使用姿勢,像改主題、改js文件支持某些特性等等。個人能力不夠,也沒有興趣深入研究,就是為了看看這東西怎么用。

自己安裝部署的部分就是完全照搬官方文檔,沒有摻雜任何原創性的姿勢,可能略有修改或說明不準確的地方完全是個人失誤。

Docker部分是自己嘗試用的,因為平時幾乎不自己裝任何服務了,能用docker的就用docker了,這里也不涉及docker安裝和使用的相關說明。

最后吐槽一點:完全配置結束后我把這篇全部粘貼發布到ghost,那叫一個難看,一點都不優雅,看來美還是需要精心調整的啊。最可惡的是竟然不支持表格...,查了一下,有方法支持,但是到此為止對我個人來講已經沒有必要繼續了。

為什么把后記放到前面?因為看到這里如果沒興趣可以不要繼續浪費時間了...

安裝 安裝node

到node官網下載安裝包

傻瓜安裝,會同時安裝node和npm (macOS)

node版本不要太高,官方目前支持到4.xLTS

安裝并運行ghost

下載ghost包,下載地址

找個目錄解壓,注意解壓目錄就是安裝目錄

終端進入解壓目錄執行 npm install -production,等提示,沒錯誤就OK,有錯誤解決錯誤

安裝結束后執行:npm start就開啟了ghost服務

訪問localhost:2368查看主頁,后臺管理地址為localhost:2368/ghost

部署:保持運行 使用Forever保持Ghost在后臺運行并在進程crash時重啟服務

安裝forever

npm install forever -g

ghost目錄運行

NODE_ENV=production forever start index.js

結束進程與查看進程

forever stop index.js
forever list

使用PM2,這個比forever強大

安裝PM2

npm install pm2 -g

運行ghost服務

NODE_ENV=production pm2 start index.js --name "Ghost"

停止、重啟服務

pm2 stop Ghost
pm2 restart Ghost
# reload熱重啟
pm2 reload Ghost

遠程部署,不需要,需要時再看pm2文檔@deploy

初始化腳本,服務自啟動

pm2 startup
# 保存當前進程
pm2 save

Supervisor

安裝supervisor并啟動

# debian/ubuntu
apt-get install supervisor
# fedora/centos
yum install supervisor
# 運行
service supervisor start

創建ghost啟動腳本 /etc/supervisor/conf.d/ghost.conf

cat > /etc/supervisor/conf.d/ghost.conf
[program:ghost]
command = node /path/to/ghost/index.js
directory = /path/to/ghost
user = ghost
autostart = true
autorestart = true
stdout_logfile = /var/log/supervisor/ghost.log
stderr_logfile = /var/log/supervisor/ghost_err.log
environment = NODE_ENV="production"
ctrl-d

啟動與停止ghost

supervisorctl start ghost
supervisorctl stop ghost

初始化腳本: ubuntu

創建腳本

sudo curl https://raw.github.com/TryGhost/Ghost-Config/master/init.d/ghost -o /etc/init.d/ghost

打開該文件修改:GHOST_ROOT為ghost安裝目錄,DAEMON為node運行目錄

創建用戶并修改權限

sudo useradd -r ghost -U
sudo chown -R ghost:ghost /path/to/ghost
sudo chmod 755 /etc/init.d/ghost

ghost服務管理

sudo service ghost start
sudo service ghost stop
sudo service ghost restart
sudo service ghost status

注冊系統啟動

sudo update-rc.d ghost defaults
sudo update-rc.d ghost enable

注意當前用戶權限

sudo adduser USERNAME ghost

配置詳解(config.js)

安裝ghost后,會在安裝目錄生成默認配置文件config.js,內容復制自config.example.js文件,可以修改配置域名、郵箱、數據庫、資源目錄等等。

配置項:
名稱 是否必須 描述
url Y 設置blog的url
mail Y 設置郵件,用于找回密碼和邀請成員
database Y 配置數據庫,默認使用sqlite3
server Y ghost服務監聽地址與端口
compress N 開啟gzip壓縮
fileStorage N 開啟本地存儲
updateCheck N 禁止使用,用privacy.useUpdateCheck代替
privacy N 功能管理,如update check,rpc ping, google fonts
forceAdminSSL N 強制開啟后臺管理SSL訪問,需配置SSL
urlSSL N 定義第二個url用于SSL訪問
paths N 自定義content目錄
maintenance N 維護模式
referrerPolicy N 配置referrer metadata屬性
配置說明

url
配置ghost服務URL,需要保持與訪問地址一致,指定完整域名,例如:http://ghost-blog.com

email
郵箱用于找回密碼,邀請成員,官方說后面會增加郵件訂閱等更多服務

    mail: {
        // 自定義from字段:默認為 Blog Title 
        from: "name@address.com",
        transport: "SMTP",
        options: {
            host: "smtp.126.com",
            secureConnection: false,
            port: 25,
            auth: {
                user: "name@126.com",
                pass: "xxxxxx"
            }
        }
    }

ssl 配置

第一種方式是修改url配置前綴https://,開啟全站SSL

第二種只開啟管理后臺SSL:forceAdminSSL: true, http訪問會自動跳轉

也可以禁止http訪問不跳轉,直接返回403:forceAdminSSL: {redirect: false}

database
ghost默認配置使用SQLite作為數據庫存儲,但同時也支持MySQL和Postgres,Postgres支持有點小問題,這里不做說明,mysql配置實例:

    database: {
        client: "mysql",
        connection: {
            host     : "0.0.0.0",
            user     : "ghost",
            password : "",
            database : "ghost_testing",
            charset  : "utf8"
        },
        // 可以配置pool修改連接池大小,這里是默認值
        pool: {
            min: 2;
            max: 10
        }
    },

server
配置ghost服務監聽地址:

    server: {
        host: "127.0.0.1",
        port: "2368"
    }

    # 也可以配置為socket監聽:
    server: {
        socket: {
            path: "path/to/socket.sock",
            permissions: "0666"
        }
    }

gzip compression
默認開啟,需要關閉修改:compress: false

fileStorage
開啟/關閉文件存儲,有些服務器不支持持久存儲的文件系統,所以禁止上傳圖片,關閉后:fileStorage: false,上傳圖片時將只允許輸入圖片url

paths
ghost默認的content目錄就在安裝目錄,可以通過paths配置自定義路徑,如:

    paths: {
        contentPath: path.join(__dirname, "path/to/content/dir")
    },

privacy
需要關閉所有可配置的功能科室直接配置useTinfoil,開啟后所有privacy配置都將失效

    privacy: {
        useTinfoil: true
    }

    //多帶帶配置每一項:
    privacy: {
        // 更新檢查,不訂閱官方郵件不會收到通知
        useUpdateCheck: false,
        // 使用谷歌字體服務,但不影響theme中使用的Google Fonts
        useGoogleFonts: false,
        // 使用哦Gravatar檢測服務,默認會檢查郵箱是否是Gravatar賬戶
        useGravatar: false,
        // 使用RPC Ping服務,默認開啟
        useRpcPing: false,
        useStructureData: false
    }

maintenance
開啟維護模式將返回503響應:maintenance: { enabled: true }

referrerPolicy
配置referer metadta屬性,更多關于referrer policy參考W3C@referrer

Nginx代理

安裝nginx,不在這里扯

配置

    # 創建虛擬主機配置文件
    cat > /etc/nginx/sites-available/ghost.conf
    server {
        listen 80;
        server_name example.com;
    
        location / {
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   Host      $http_host;
            proxy_pass         http://127.0.0.1:2368;
        }
    }
    ctrl-d
    # 軟鏈配置文件
    sudo ln -s /etc/nginx/sites-available/ghost.conf /etc/nginx/sites-enabled/ghost.conf

重啟nginx生效

sudo service nginx restart

解析域名

SSL配置

獲取證書,正式的話就花錢買吧

復制證書到nginx目錄

    mkdir /etc/nginx/ssl
    cp server.crt /etc/nginx/ssl/server.crt
    cp server.key /etc/nginx/ssl/server.key

修改ghost-nginx配置/etc/nginx/sites-available/ghost.conf

    server {
        listen 80;
        listen 443 ssl;
        server_name example.com;
        ssl_certificate        /etc/nginx/ssl/server.crt;
        ssl_certificate_key    /etc/nginx/ssl/server.key;
         
        location / {
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_pass http://127.0.0.1:2368;
        }
     }

重啟nginx

強制要求admin用戶使用HTTPS,修改配置文件:forceAdminSSL: true

升級 準備工作

備份
登錄管理后臺,訪問Labs設置頁:yourblog.com/ghost/settings/labs/,導出數據.json文件,備份content目錄

確認服務重啟命令
升級后需要重啟服務,確認安裝時使用的服務管理方式forever/pm2/supervisor

跨版本升級,和我沒大關系

升級步驟

下載新版ghost

curl -LOk https://ghost.org/zip/ghost-latest.zip

解壓到一個臨時目錄,不要直接覆蓋原安裝目錄

unzip ghost-latest.zip -d ghost-temp

進入當前ghost安裝目錄,刪除core目錄

cd path/to/ghost
rm -rf core

進入臨時解壓目錄,復制文件

cd path/to/ghost-temp
cp -R core path/to/ghost
cp index.js *.json path/to/ghost
cp -R content/themes/casper path/to/ghost/content/themes

回到安裝目錄升級ghost

cd path/to/ghost
chown -R ghost:ghost *
npm install --production

重啟服務

# 注意使用安裝時的服務管理方式
service ghost restart
forever restart index.js
pm2 restart ghost

Docker方案: 去他的一坨~ 下載nginx、ghost鏡像

這兩個服務都有官方鏡像源,直接下載(非必須)

docker pull ghost
docker pull nginx
運行ghost
# 運行并掛載本地content目錄到容器
docker run --name ghost 
-e NODE_ENV=production 
-v /path/to/ghost-content:/var/lib/ghost 
--restart=always 
-d ghost

# 后面使用nginx代理,所以這里不做端口映射,默認暴露`:2368`端口
# content目錄可以包含自定義配置文件config.js,默認會自動復制config.example.js文件到content目錄config.js
# 建議提前準備好自己的配置文件,默認production的配置是不完整的
# 注意NODE_ENV環境變量,不設置為production時默認為development
# 每次修改完配置文件重啟: docker restart ghost
運行nginx
# 運行并掛載配置文件
docker run --name nginx 
-v path/to/nginx.conf:/etc/nginx/nginx.conf 
-v path/to/ghost.conf:/etc/nginx/conf.d/ghost.conf 
--link ghost:GHOST_HOST 
--restart=always 
-p 80:80 
-d nginx

# 注意這里需要同時掛載nginx服務配置和ghost代理配置
# 兩個配置文件雖然不是必須從容器外掛載,但還是分離開方便維護
# 注意修改上面示例中 ghost.conf 文件:proxy_pass: http://GHOST_HOST:2368
參考資料

官方文檔

中文文檔

PM2官網

forever包

ghost-docker鏡像

nginx-docker鏡像

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26668.html

相關文章

  • 使用Ghost搭建個人博客

    摘要:使用搭建個人博客作為一個技術人員,一般都會有寫一些博客,分享一些文章咱們做技術的就是愛分享。下面我就簡單講解一下在系統下如何使用搭建搭建個人博客網站。 使用Ghost搭建個人博客 作為一個技術人員,一般都會有寫一些博客,分享一些文章(咱們做技術的就是愛分享)。因此也誕生了非常多的開源博客系統,比如像wordpress也是目前世界最流行,應用最廣的一個天源博客系統,有非常多的插件及模版。...

    Developer 評論0 收藏0

發表評論

0條評論

Null

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<