吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

騰訊云Ubuntu主機搭建Ghost

汽車電子技術 ? 來源:物聯網IoT開發 ? 作者:杰杰 ? 2023-02-14 10:01 ? 次閱讀

開發環境

騰訊云主機配置:

操作系統 Ubuntu Server 16.04.1 LTS 64位

CPU 1 核

內存 2 GB

公網帶寬 1 Mbps

官方推薦的安裝條件

Ubuntu 16.04或Ubuntu 18.04

內存至少為1GB的服務器

注冊域名

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

開始操作

1. 創建一個新用戶

打開終端并以root用戶身份登錄服務器,創建一個非root用戶,官方不推薦在root下安裝ghost(注意這里很多坑,搞不定就重裝系統吧,我已經重裝很多次了)

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

sudo adduser 

將新創建的用戶添加到組。

usermod -aG sudo 

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

注意事項:如果使用用戶名“ghost”會導致與Ghost-CLI沖突,不允許使用“ghost”這個用戶名。

2. 更新包

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

sudo apt-get update
sudo apt-get upgrade

3. 安裝Node.js

執行以下命令,安裝Node.js

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

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

圖片

推薦使用10.x

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

安裝完成后,執行以下命令查看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服務器,SSL配置需要NGINX 1.9.5或更高版本。

執行命令:

sudo apt-get update
sudo apt-get install nginx

UFW(Uncomplicated Firewall)是一個 iptables 的接口,可以簡化配置防火墻的過程。Ubuntu 默認安裝了 UFW,執行以下命令查看防火墻的狀態。

sudo ufw status

如果你沒有也不想開啟防火墻,則可以直接跳過此步驟,如果你想要開啟防火墻可以通過以下命令實現。

sudo ufw enable

之后再次檢查防火墻狀態驗證是否成功開啟防火墻。

在測試Nginx之前,需要重新配置我們的防火墻軟件以允許訪問Nginx。執行以下命令,將Nginx自動 注冊在 UFW。

sudo ufw app list

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

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

把以下配置內容粘貼進你的配置文件中,修改server_name 的內容

server {
    listen 80;
    server_name 119.3.xx.xxx.com;     #這里寫你的域名或者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

驗證Nginx是否正常工作

在瀏覽器中通過域名或者 IP 地址進行訪問Nginx,如果Nginx正常啟動則會打開Welcome to nginx的歡迎頁面。

使用瀏覽器訪問 http://云服務器IP地址,顯示如下頁面,說明Nginx安裝成功。

圖片

安裝Nginx成功

5. 安裝MySQL

安裝MySQL以用作數據庫。

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

安裝的過程中會讓你輸入密碼,安裝輸入即可,我是為了方便記錄,用戶、數據庫都輸入了一樣的密碼。

執行這個命令

mysql_secure_installation

根據提示,前兩項是 n ,后面的y即可

Securing the MySQL server deployment.

Enter password for user root:    #輸入上一步驟中獲取的安裝MySQL時自動設置的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遠程登錄,輸入Y
Success.

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

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

All done!

測試數據庫狀態:

systemctl status mysql.service

結果如下:(按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:~$

為了避免數據庫存放的中文是亂碼,執行以下命令設置Mysql的編碼:

sudo vi /etc/my.cnf

復制粘貼以下內容:

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

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

sudo /usr/sbin/service mysql restart

建立ghost依賴的數據庫

root 身份登錄MySql然后創建一個名為 ghost 的數據庫并驗證創建結果,強調!!!進入數據庫必須是root(超級用戶,比如默認用戶 ubuntu )。

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

mysql -u root -p;

進入數據庫界面:

執行創建數據庫,名字隨意,我使用的是ghost(注意要有分號)

create database ghost;

創建完顯示一下當前數據庫:

show databases;

結果(當然我這里有好幾個數據庫,列表中有你的數據庫名稱就行了)

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

由于很多教程都是沒有讓數據庫給非root用戶(即我們剛開始創建的用戶)分配權限,在這里我們要補充這點。

數據庫分配權限

執行:

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

參數說明:

mysql_name:在前面創建數據庫時候的名稱,我的是ghost

user_nam:在剛開始創建的用戶名稱,我的是blog

xxxxxxxxx:是訪問數據庫的密碼(口令),要記牢

結果:

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

退出數據庫

mysql> exit

最好在這里重啟一下數據庫

sudo /usr/sbin/service mysql restart

Ghost 安裝與配置

安裝Ghost-CLI

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

Ghost-CLI是一個命令行工具,可幫助您快速輕松地安裝和配置Ghost。可以用npm或安裝yarn

sudo npm i -g ghost-cli

安裝后,可以運行ghost help以查看可用命令列表。

安裝Ghost

正確設置服務器并ghost-cli安裝后,即可安裝Ghost。

注意:在/root或home/目錄中安裝Ghost會導致設置損壞。始終使用具有正確配置權限的自定義目錄。

首先創建一個文件夾,官方推薦在 /var/www/目錄下安裝ghost

sudo mkdir -p /var/www/ghost

配置文件夾權限:

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

其中[user]替換為一開始創建的用戶(我的是blog)

sudo chown blog:blog /var/www/ghost

配值文件夾權限:

sudo chmod 775 /var/www/ghost

切換路徑:

cd /var/www/ghost

由于官方指定安裝ghost不允許在root用戶下,因此我們去到一開始創建的用戶(非root用戶)下安裝, 替換為你的用戶名稱即可,然后輸入密碼

su 

結果可以看到ubuntu用戶已經切換為blog用戶。

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

如果你已經做到了這一點,說明已經完成90%了,是時候用一個命令安裝Ghost了

ghost install

結果:

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                    #使用本地數據庫
? Enter your MySQL username: blog                        #用戶名字
? Enter your MySQL password: [hidden]                    #密碼(為了方便用戶名與數據庫最好設置為一樣的密碼)
? Enter your Ghost database name: ghost                    #數據庫名字
? 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/                    #表示安裝正常,通過這個就能配置你的博客

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

圖片

博客配置界面

搭建ghost參考:

如何在Ubuntu上安裝Ghost

手工搭建Ghost博客(Ubuntu 16.04)

Ghost 安裝在 Ubuntu 環境底下

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

解決問題參考:

MySQL學習筆記(一)Ubuntu16.04中MySQL安裝配置(5.6優化、錯誤日志、DNS解決)

MySQL列出所有數據庫

【MySQL】創建普通用戶,分配權限,取消權限

同時還要感謝 谷歌翻譯 ,它解決了我很多問題!!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    12

    文章

    9303

    瀏覽量

    86059
  • ip地址
    +關注

    關注

    0

    文章

    303

    瀏覽量

    17127
  • SSL
    SSL
    +關注

    關注

    0

    文章

    126

    瀏覽量

    25778
收藏 人收藏

    評論

    相關推薦

    如何在Ubuntu 22.04上搭建ftp服務器

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

    Ubuntu環境搭建

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

    【推薦體驗】騰訊自然語言處理

    自然語言處理技術的功勞。可以說,只要有大量文本數據的應用場景,幾乎都涉及到NLP技術,也都可以使用相關自然語言處理產品的接口來做智能分析。比如:社交媒體上的用戶言論,可以使用騰訊NLP的情感分析接口,來做
    發表于 10-09 15:28

    服務器Ubuntu16鏡像如何搭建FreeSwitch

    服務器 Ubuntu16鏡像搭建FreeSwitch
    發表于 04-22 13:38

    服務器搭建嵌入式Linux開發環境的步驟

    Linux學習之服務器搭建嵌入式Linux開發環境第一步:購買服務器進入騰訊官方網站騰訊
    發表于 11-08 07:37

    AT指令對接騰訊的使用方法

    文章系列:【騰訊物聯開發平臺筆記1】AT指令對接騰訊基本使用;【騰訊物聯開發平臺筆記 2】
    發表于 11-26 06:23

    【迪文COF結構智能屏試用體驗】結合騰訊搭建在線聊天室--文本對話

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

    【合作伙伴】騰訊--產業智變,啟未來

    騰訊騰訊騰訊集團傾力打造的計算品牌,面向全世界各個國家和地區的政府機構、企業組織和個人開
    發表于 12-12 10:06

    Fibocom 公有騰訊 技術資料

    Fibocom 公有騰訊 技術資料內容如下:1、騰訊連接教程2、騰訊連連小程序使用教程3
    發表于 01-05 12:00

    Linux Ubuntu教程之Linux Ubuntu14.04如何進行開發環境的搭建

    本文檔的主要內容詳細介紹的是Linux Ubuntu教程之Linux Ubuntu14.04如何進行開發環境的搭建詳細資料免費下載。
    發表于 12-19 08:00 ?7次下載

    主機對比物理服務器,主機的性價比更高

    當前在物理服務器和主機的選擇上,更多的用戶選擇了主機搭建企業應用服務平臺或建設網站。
    的頭像 發表于 03-28 17:06 ?3071次閱讀

    使用 ubuntu + emqx + nodered 方式搭建屬于自己的IOT平臺

    現在物聯網平臺非常多,百度、騰訊、阿里、京東、等,這些物聯網平臺都各具特色,但畢竟是別人的,我們自己能否搭建屬于自己的物聯網平臺呢? 答案是可以的,我們只需要一個服務器,在服務器上搭建IOT平臺
    的頭像 發表于 11-20 09:24 ?7604次閱讀

    Ubuntu替代Windows?使用Station主機打造桌面操作系統!

    Windows大家都不陌生,也經常使用。而Ubuntu,一個開源屬性的操作系統,你了解嗎?Ubuntu作為Linux眾多發行版中的其中一個,不少用戶會用Ubuntu學習編程、搭建服務器
    的頭像 發表于 04-16 16:19 ?1843次閱讀
    <b class='flag-5'>Ubuntu</b>替代Windows?使用Station<b class='flag-5'>主機</b>打造桌面操作系統!

    推薦續費便宜的主機虛擬主機免費試用)

    隨著計算的普及,主機已成為越來越多企業和個人的首選。選擇性能優良、質量可靠的主機非常重要,但價格也是用戶考慮的重要因素之一。推薦續費便
    的頭像 發表于 07-14 13:21 ?1063次閱讀

    自己電腦搭建主機,自己電腦如何搭建主機

    ? 如今,服務器遠程連接技術正逐漸成為行業的新寵,它代表著服務器管理領域向高效化、智能化邁進的發展趨勢。本文將帶你剖析自己電腦如何搭建主機。 自己電腦搭建
    的頭像 發表于 01-06 09:55 ?162次閱讀
    自己電腦<b class='flag-5'>搭建</b><b class='flag-5'>云</b><b class='flag-5'>主機</b>,自己電腦如何<b class='flag-5'>搭建</b><b class='flag-5'>云</b><b class='flag-5'>主機</b>?
    杨公24山| 中原百家乐的玩法技巧和规则| 大玩家百家乐官网现金网| 威尼斯人娱乐场钓鱼网站 | 境外赌博下| 赌片百家乐的玩法技巧和规则| 百家乐官网如何打轮盘| 百家乐官网软件代打| 皇冠现金网网址| 百家乐投注哪个信誉好| 百家乐官网tie| 南宫市| 博彩网址| 大发888下载ylc8| 牌九百家乐的玩法技巧和规则| 百家乐官网家| 网络百家乐官网真人游戏| 百家乐官网注码管理| 百家乐软件| 爱赢娱乐城开户| 大发888娱乐客户端| 百家乐博娱乐网| 安阳百家乐赌博| 温州百家乐真人网| 杨公24山择日| 五星百家乐官网的玩法技巧和规则| 百家乐官网一般的庄闲比例是多少| 百家乐官网送彩金平台| 兴海县| 荔浦县| 额尔古纳市| 柳林县| 百家乐官网游戏机子| 百家乐官网的关键技巧| 运城市| 博马百家乐官网娱乐城| 百家乐官网娱乐城赌场| 稳赢的百家乐官网投注方法 | 大发888娱乐城怎么玩| 大发888娱乐游戏注册| 大发888 娱乐平台|