0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

騰訊云Ubuntu主機(jī)搭建Ghost

汽車電子技術(shù) ? 來(lái)源:物聯(lián)網(wǎng)IoT開(kāi)發(fā) ? 作者:杰杰 ? 2023-02-14 10:01 ? 次閱讀

開(kāi)發(fā)環(huán)境

騰訊云主機(jī)配置:

操作系統(tǒng) Ubuntu Server 16.04.1 LTS 64位

CPU 1 核

內(nèi)存 2 GB

公網(wǎng)帶寬 1 Mbps

官方推薦的安裝條件

Ubuntu 16.04或Ubuntu 18.04

內(nèi)存至少為1GB的服務(wù)器

注冊(cè)域名

在開(kāi)始之前,首先去解析域名,指向服務(wù)器的IP地址并確保它正確解析。必須提前完成此操作,以便在安裝過(guò)程中正確配置SSL。

開(kāi)始操作

1. 創(chuàng)建一個(gè)新用戶

打開(kāi)終端并以root用戶身份登錄服務(wù)器,創(chuàng)建一個(gè)非root用戶,官方不推薦在root下安裝ghost(注意這里很多坑,搞不定就重裝系統(tǒng)吧,我已經(jīng)重裝很多次了)

創(chuàng)建一個(gè)新用戶(非root),命令如下:替換為你自己的用戶名稱即可如sudo adduser blog,期間會(huì)讓你輸入兩次新用戶的密碼

sudo adduser 

將新創(chuàng)建的用戶添加到組。

usermod -aG sudo 

輸入完一些信息Yes下一步。

注意事項(xiàng):如果使用用戶名“ghost”會(huì)導(dǎo)致與Ghost-CLI沖突,不允許使用“ghost”這個(gè)用戶名。

2. 更新包

確保包列表和已安裝的包是最新的。

sudo apt-get update
sudo apt-get upgrade

3. 安裝Node.js

執(zhí)行以下命令,安裝Node.js

sudo curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs

注意了,ghost支持的版本如下:

圖片

推薦使用10.x

如果想選擇其他版本的話,可以在安裝的時(shí)候修改sudo curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -中的setup_10.x,改為你需要的版本即可。

安裝完成后,執(zhí)行以下命令查看Node.js版本和npm版本。

node -v
npm -v

回顯信息:

ubuntu@VM-0-10-ubuntu:~$ node -v
v10.15.1
ubuntu@VM-0-10-ubuntu:~$ npm -v
6.4.1

4. 安裝NGINX

Ghost使用NGINX服務(wù)器,SSL配置需要NGINX 1.9.5或更高版本。

執(zhí)行命令:

sudo apt-get update
sudo apt-get install nginx

UFW(Uncomplicated Firewall)是一個(gè) iptables 的接口,可以簡(jiǎn)化配置防火墻的過(guò)程。Ubuntu 默認(rèn)安裝了 UFW,執(zhí)行以下命令查看防火墻的狀態(tài)。

sudo ufw status

如果你沒(méi)有也不想開(kāi)啟防火墻,則可以直接跳過(guò)此步驟,如果你想要開(kāi)啟防火墻可以通過(guò)以下命令實(shí)現(xiàn)。

sudo ufw enable

之后再次檢查防火墻狀態(tài)驗(yàn)證是否成功開(kāi)啟防火墻。

在測(cè)試Nginx之前,需要重新配置我們的防火墻軟件以允許訪問(wèn)Nginx。執(zhí)行以下命令,將Nginx自動(dòng) 注冊(cè)在 UFW。

sudo ufw app list

如果ufw已激活,則防火墻允許HTTP和HTTPS連接。打開(kāi)防火墻:

sudo ufw allow 'Nginx Full'

輸出信息:

ubuntu@VM-0-10-ubuntu:~$ sudo ufw app list
Available applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH

配置Nginx

# 新建配置文件
sudo vim /etc/nginx/sites-available/ghost.conf

把以下配置內(nèi)容粘貼進(jìn)你的配置文件中,修改server_name 的內(nèi)容

server {
    listen 80;
    server_name 119.3.xx.xxx.com;     #這里寫(xiě)你的域名或者ip地址
    location / {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host      $http_host;
        proxy_pass         http://127.0.0.1:2368;
    }
}

把配置文件軟鏈接到sites-enabled中:

sudo ln -s /etc/nginx/sites-available/ghost.conf /etc/nginx/sites-enabled/ghost.conf

重啟Nginx

sudo service nginx restart

驗(yàn)證Nginx是否正常工作

在瀏覽器中通過(guò)域名或者 IP 地址進(jìn)行訪問(wèn)Nginx,如果Nginx正常啟動(dòng)則會(huì)打開(kāi)Welcome to nginx的歡迎頁(yè)面。

使用瀏覽器訪問(wèn) http://云服務(wù)器IP地址,顯示如下頁(yè)面,說(shuō)明Nginx安裝成功。

圖片

安裝Nginx成功

5. 安裝MySQL

安裝MySQL以用作數(shù)據(jù)庫(kù)。

sudo apt-get update
sudo apt-get install mysql-server

安裝的過(guò)程中會(huì)讓你輸入密碼,安裝輸入即可,我是為了方便記錄,用戶、數(shù)據(jù)庫(kù)都輸入了一樣的密碼。

執(zhí)行這個(gè)命令

mysql_secure_installation

根據(jù)提示,前兩項(xiàng)是 n ,后面的y即可

Securing the MySQL server deployment.

Enter password for user root:    #輸入上一步驟中獲取的安裝MySQL時(shí)自動(dòng)設(shè)置的root用戶密碼
The existing password for the user account root has expired. Please set a new password.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : N   #是否更改root用戶密碼,輸入N

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y   #是否刪除匿名用戶,輸入Y
Success.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y   #禁止root遠(yuǎn)程登錄,輸入Y
Success.

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y   #是否刪除test庫(kù)和對(duì)它的訪問(wèn)權(quán)限,輸入Y
 - Dropping test database...
Success.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y   #是否重新加載授權(quán)表,輸入Y
Success.

All done!

測(cè)試數(shù)據(jù)庫(kù)狀態(tài):

systemctl status mysql.service

結(jié)果如下:(按Ctrl+C退出)

ubuntu@VM-0-10-ubuntu:~$ systemctl status mysql.service
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en
   Active: active (running) since Sun 2019-02-24 13:56:36 CST; 1h 3min ago
 Main PID: 7203 (mysqld)
   CGroup: /system.slice/mysql.service
           └─7203 /usr/sbin/mysqld

Feb 24 13:56:35 VM-0-10-ubuntu systemd[1]: Stopped MySQL Community Server.
Feb 24 13:56:35 VM-0-10-ubuntu systemd[1]: Starting MySQL Community Server...
Feb 24 13:56:36 VM-0-10-ubuntu systemd[1]: Started MySQL Community Server.
lines 1-10/10 (END)
ubuntu@VM-0-10-ubuntu:~$

為了避免數(shù)據(jù)庫(kù)存放的中文是亂碼,執(zhí)行以下命令設(shè)置Mysql的編碼:

sudo vi /etc/my.cnf

復(fù)制粘貼以下內(nèi)容:

[client]
default-character-set=utf8  
[mysql]
default-character-set=utf8  
[mysqld]
character-set-server=utf8  
collation-server=utf8_general_ci

保存退出,執(zhí)行以下命令重啟 Mysql 生效:

sudo /usr/sbin/service mysql restart

建立ghost依賴的數(shù)據(jù)庫(kù)

root 身份登錄MySql然后創(chuàng)建一個(gè)名為 ghost 的數(shù)據(jù)庫(kù)并驗(yàn)證創(chuàng)建結(jié)果,強(qiáng)調(diào)?。?!進(jìn)入數(shù)據(jù)庫(kù)必須是root(超級(jí)用戶,比如默認(rèn)用戶 ubuntu )。

首先執(zhí)行命令:(他會(huì)提示你輸入密碼)

mysql -u root -p;

進(jìn)入數(shù)據(jù)庫(kù)界面:

執(zhí)行創(chuàng)建數(shù)據(jù)庫(kù),名字隨意,我使用的是ghost(注意要有分號(hào))

create database ghost;

創(chuàng)建完顯示一下當(dāng)前數(shù)據(jù)庫(kù):

show databases;

結(jié)果(當(dāng)然我這里有好幾個(gè)數(shù)據(jù)庫(kù),列表中有你的數(shù)據(jù)庫(kù)名稱就行了)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| blog               |
| ghost              |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
6 rows in set (0.00 sec)

由于很多教程都是沒(méi)有讓數(shù)據(jù)庫(kù)給非root用戶(即我們剛開(kāi)始創(chuàng)建的用戶)分配權(quán)限,在這里我們要補(bǔ)充這點(diǎn)。

數(shù)據(jù)庫(kù)分配權(quán)限

執(zhí)行:

grant all privileges on mysql_name.* to 'user_name'@'%' identified by 'xxxxxxxxx';

參數(shù)說(shuō)明:

mysql_name:在前面創(chuàng)建數(shù)據(jù)庫(kù)時(shí)候的名稱,我的是ghost

user_nam:在剛開(kāi)始創(chuàng)建的用戶名稱,我的是blog

xxxxxxxxx:是訪問(wèn)數(shù)據(jù)庫(kù)的密碼(口令),要記牢

結(jié)果:

mysql> grant all privileges on ghost.* to 'blog'@'%' identified by '************';
Query OK, 0 rows affected, 1 warning (0.00 sec)

退出數(shù)據(jù)庫(kù)

mysql> exit

最好在這里重啟一下數(shù)據(jù)庫(kù)

sudo /usr/sbin/service mysql restart

Ghost 安裝與配置

安裝Ghost-CLI

Ghost v1.0.0 及以上版本已加入了Ghost-CLI,因此可以直接安裝配置Ghost-CLI。

Ghost-CLI是一個(gè)命令行工具,可幫助您快速輕松地安裝和配置Ghost??梢杂?code>npm或安裝yarn。

sudo npm i -g ghost-cli

安裝后,可以運(yùn)行ghost help以查看可用命令列表。

安裝Ghost

正確設(shè)置服務(wù)器并ghost-cli安裝后,即可安裝Ghost。

注意:在/root或home/目錄中安裝Ghost會(huì)導(dǎo)致設(shè)置損壞。始終使用具有正確配置權(quán)限的自定義目錄。

首先創(chuàng)建一個(gè)文件夾,官方推薦在 /var/www/目錄下安裝ghost

sudo mkdir -p /var/www/ghost

配置文件夾權(quán)限:

sudo chown [user]:[user] /var/www/ghost

其中[user]替換為一開(kāi)始創(chuàng)建的用戶(我的是blog)

sudo chown blog:blog /var/www/ghost

配值文件夾權(quán)限:

sudo chmod 775 /var/www/ghost

切換路徑:

cd /var/www/ghost

由于官方指定安裝ghost不允許在root用戶下,因此我們?nèi)サ揭婚_(kāi)始創(chuàng)建的用戶(非root用戶)下安裝, 替換為你的用戶名稱即可,然后輸入密碼

su 

結(jié)果可以看到ubuntu用戶已經(jīng)切換為blog用戶。

ubuntu@VM-0-10-ubuntu:/var/www/ghost$ su blog
Password: 
blog@VM-0-10-ubuntu:/var/www/ghost$ ls

如果你已經(jīng)做到了這一點(diǎn),說(shuō)明已經(jīng)完成90%了,是時(shí)候用一個(gè)命令安裝Ghost了

ghost install

結(jié)果:

blog@VM-0-10-ubuntu:/var/www/ghost$ ghost install
? Downloading and installing Ghost v2.15.0
? Finishing install process
? Enter your blog URL: http://jiejietop.cn                #輸入博客的路徑
? Enter your MySQL hostname: localhost                    #使用本地?cái)?shù)據(jù)庫(kù)
? Enter your MySQL username: blog                        #用戶名字
? Enter your MySQL password: [hidden]                    #密碼(為了方便用戶名與數(shù)據(jù)庫(kù)最好設(shè)置為一樣的密碼)
? Enter your Ghost database name: ghost                    #數(shù)據(jù)庫(kù)名字
? Configuring Ghost
? Setting up instance
+ sudo chown -R ghost:ghost /var/www/ghost/content
? Sudo Password [hidden]                                    #輸入密碼
? Setting up "ghost" system user                                
? Setting up "ghost" mysql user [skipped]
+ sudo ln -sf /etc/nginx/sites-available/jiejietop.cn.conf /etc/nginx/sites-enabled/jiejietop.cn.conf
+ sudo nginx -s reload
? Setting up Nginx
? Setting up Nginx
? Do you wish to set up SSL? Yes                    #輸入 Y       
? Enter your email (For SSL Certificate) 1161959934@qq.com            #你自己的郵箱,可能是防止忘了密碼吧      
+ sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt --domain jiejietop.cn --webroot /var/www/ghost/system/nginx-root --reloadcmd "nginx -s reload" --accountema
il 1161959934@qq.com
? Creating ssl config file at /var/www/ghost/system/files/jiejietop.cn-ssl.conf
+ sudo ln -sf /var/www/ghost/system/files/jiejietop.cn-ssl.conf /etc/nginx/sites-available/jiejietop.cn-ssl.conf
+ sudo ln -sf /etc/nginx/sites-available/jiejietop.cn-ssl.conf /etc/nginx/sites-enabled/jiejietop.cn-ssl.conf
+ sudo nginx -s reload
? Setting up SSL
? Do you wish to set up Systemd? Yes                #輸入 Y   
? Creating systemd service file at /var/www/ghost/system/files/ghost_jiejietop-cn.service
+ sudo ln -sf /var/www/ghost/system/files/ghost_jiejietop-cn.service /lib/systemd/system/ghost_jiejietop-cn.service
+ sudo systemctl daemon-reload
? Setting up Systemd
? Do you want to start Ghost? Yes                    #輸入 Y   
+ sudo systemctl is-active ghost_jiejietop-cn
? Ensuring user is not logged in as ghost user
? Checking if logged in user is directory owner
? Checking current folder permissions
+ sudo systemctl is-active ghost_jiejietop-cn
? Validating config
? Checking folder permissions
? Checking file permissions
? Checking content folder ownership
? Checking memory availability
+ sudo systemctl start ghost_jiejietop-cn
? Starting Ghost
+ sudo systemctl is-enabled ghost_jiejietop-cn
+ sudo systemctl enable ghost_jiejietop-cn --quiet
? Enabling Ghost instance startup on server boot

Ghost uses direct mail by default. To set up an alternative email method read our docs at https://docs.ghost.org/concepts/config/#mail

------------------------------------------------------------------------------

Ghost was installed successfully! To complete setup of your publication, visit: 

    http://jiejietop.cn/ghost/                    #表示安裝正常,通過(guò)這個(gè)就能配置你的博客

雖然啥都沒(méi)有,但是搭起來(lái)還是很爽的,我是踩了很多坑的,什么數(shù)據(jù)庫(kù)分配權(quán)限啥的,還有配置ghost文件夾權(quán)限什么的,還有root用戶,亂七八糟的東西,也是一步步查資料解決的

圖片

博客配置界面

搭建ghost參考:

如何在Ubuntu上安裝Ghost

手工搭建Ghost博客(Ubuntu 16.04)

Ghost 安裝在 Ubuntu 環(huán)境底下

Ghost博客安裝、使用、更新一條龍教程-中文版

解決問(wèn)題參考:

MySQL學(xué)習(xí)筆記(一)Ubuntu16.04中MySQL安裝配置(5.6優(yōu)化、錯(cuò)誤日志、DNS解決)

MySQL列出所有數(shù)據(jù)庫(kù)

【MySQL】創(chuàng)建普通用戶,分配權(quán)限,取消權(quán)限

同時(shí)還要感謝 谷歌翻譯 ,它解決了我很多問(wèn)題??!

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    8979

    瀏覽量

    85100
  • ip地址
    +關(guān)注

    關(guān)注

    0

    文章

    292

    瀏覽量

    16991
  • SSL
    SSL
    +關(guān)注

    關(guān)注

    0

    文章

    124

    瀏覽量

    25709
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何在Ubuntu 22.04上搭建ftp服務(wù)器

    本文將在Ubuntu 22.04上搭建ftp服務(wù)器,對(duì)于其他版本Ubuntu系統(tǒng)或者其他系列的Linux發(fā)行版,配置都差不多。
    發(fā)表于 08-21 09:18 ?1335次閱讀
    如何在<b class='flag-5'>Ubuntu</b> 22.04上<b class='flag-5'>搭建</b>ftp服務(wù)器

    Ubuntu環(huán)境搭建

    /nfsclientubuntu@ubuntu:~/work/rootfs$確認(rèn)粗體行一定要存在,這樣表示nfs服務(wù)器搭建成功samba環(huán)境搭建samba服務(wù)器用于把Linux下的文件夾以windows共享的方式,共享給
    發(fā)表于 03-20 16:43

    【推薦體驗(yàn)】騰訊自然語(yǔ)言處理

    自然語(yǔ)言處理技術(shù)的功勞??梢哉f(shuō),只要有大量文本數(shù)據(jù)的應(yīng)用場(chǎng)景,幾乎都涉及到NLP技術(shù),也都可以使用相關(guān)自然語(yǔ)言處理產(chǎn)品的接口來(lái)做智能分析。比如:社交媒體上的用戶言論,可以使用騰訊NLP的情感分析接口,來(lái)做
    發(fā)表于 10-09 15:28

    服務(wù)器Ubuntu16鏡像如何搭建FreeSwitch

    服務(wù)器 Ubuntu16鏡像搭建FreeSwitch
    發(fā)表于 04-22 13:38

    服務(wù)器搭建嵌入式Linux開(kāi)發(fā)環(huán)境的步驟

    Linux學(xué)習(xí)之服務(wù)器搭建嵌入式Linux開(kāi)發(fā)環(huán)境第一步:購(gòu)買服務(wù)器進(jìn)入騰訊官方網(wǎng)站騰訊
    發(fā)表于 11-08 07:37

    AT指令對(duì)接騰訊的使用方法

    文章系列:【騰訊物聯(lián)開(kāi)發(fā)平臺(tái)筆記1】AT指令對(duì)接騰訊基本使用;【騰訊物聯(lián)開(kāi)發(fā)平臺(tái)筆記 2】
    發(fā)表于 11-26 06:23

    【迪文COF結(jié)構(gòu)智能屏試用體驗(yàn)】結(jié)合騰訊搭建在線聊天室--文本對(duì)話

    本帖最后由 voidpbq 于 2022-3-27 19:41 編輯 前言本文介紹基于迪文屏和騰訊搭建的在線文本聊天室。一、硬件組成觸摸屏:迪文屏DMG85480F050_01WTC聯(lián)網(wǎng)
    發(fā)表于 03-26 18:48

    【合作伙伴】騰訊--產(chǎn)業(yè)智變,啟未來(lái)

    騰訊騰訊,騰訊集團(tuán)傾力打造的計(jì)算品牌,面向全世界各個(gè)國(guó)家和地區(qū)的政府機(jī)構(gòu)、企業(yè)組織和個(gè)人開(kāi)
    發(fā)表于 12-12 10:06

    Fibocom 公有騰訊 技術(shù)資料

    Fibocom 公有騰訊 技術(shù)資料內(nèi)容如下:1、騰訊連接教程2、騰訊連連小程序使用教程3
    發(fā)表于 01-05 12:00

    Linux Ubuntu教程之Linux Ubuntu14.04如何進(jìn)行開(kāi)發(fā)環(huán)境的搭建

    本文檔的主要內(nèi)容詳細(xì)介紹的是Linux Ubuntu教程之Linux Ubuntu14.04如何進(jìn)行開(kāi)發(fā)環(huán)境的搭建詳細(xì)資料免費(fèi)下載。
    發(fā)表于 12-19 08:00 ?7次下載

    主機(jī)對(duì)比物理服務(wù)器,主機(jī)的性價(jià)比更高

    當(dāng)前在物理服務(wù)器和主機(jī)的選擇上,更多的用戶選擇了主機(jī)來(lái)搭建企業(yè)應(yīng)用服務(wù)平臺(tái)或建設(shè)網(wǎng)站。
    的頭像 發(fā)表于 03-28 17:06 ?3002次閱讀

    使用 ubuntu + emqx + nodered 方式搭建屬于自己的IOT平臺(tái)

    現(xiàn)在物聯(lián)網(wǎng)平臺(tái)非常多,百度、騰訊、阿里、京東、等,這些物聯(lián)網(wǎng)平臺(tái)都各具特色,但畢竟是別人的,我們自己能否搭建屬于自己的物聯(lián)網(wǎng)平臺(tái)呢? 答案是可以的,我們只需要一個(gè)服務(wù)器,在服務(wù)器上搭建IOT平臺(tái)
    的頭像 發(fā)表于 11-20 09:24 ?7423次閱讀

    Linux學(xué)習(xí)之服務(wù)器搭建嵌入式Linux開(kāi)發(fā)環(huán)境

    Linux學(xué)習(xí)之服務(wù)器搭建嵌入式Linux開(kāi)發(fā)環(huán)境第一步:購(gòu)買服務(wù)器進(jìn)入騰訊官方網(wǎng)站騰訊
    發(fā)表于 11-03 12:21 ?12次下載
    Linux學(xué)習(xí)之<b class='flag-5'>云</b>服務(wù)器<b class='flag-5'>搭建</b>嵌入式Linux開(kāi)發(fā)環(huán)境

    Ubuntu替代Windows?使用Station主機(jī)打造桌面操作系統(tǒng)!

    Windows大家都不陌生,也經(jīng)常使用。而Ubuntu,一個(gè)開(kāi)源屬性的操作系統(tǒng),你了解嗎?Ubuntu作為L(zhǎng)inux眾多發(fā)行版中的其中一個(gè),不少用戶會(huì)用Ubuntu學(xué)習(xí)編程、搭建服務(wù)器
    的頭像 發(fā)表于 04-16 16:19 ?1684次閱讀
    <b class='flag-5'>Ubuntu</b>替代Windows?使用Station<b class='flag-5'>主機(jī)</b>打造桌面操作系統(tǒng)!

    推薦續(xù)費(fèi)便宜的主機(jī)虛擬主機(jī)免費(fèi)試用)

    隨著計(jì)算的普及,主機(jī)已成為越來(lái)越多企業(yè)和個(gè)人的首選。選擇性能優(yōu)良、質(zhì)量可靠的主機(jī)非常重要,但價(jià)格也是用戶考慮的重要因素之一。推薦續(xù)費(fèi)便
    的頭像 發(fā)表于 07-14 13:21 ?990次閱讀