在Ubuntu 14.04上具有Ghost的Nginx反向代理

Ghost是一个使用node.js编写的免费开放源代码博客平台,完全可自定义且专用于发布。

准备服务器:更新程序包,安装Node.js和NPM

我们将通过登录到服务器来演示安装root,这样我们就无需sudo在每个命令之前添加。如果您以其他用户身份登录,请记住您将需要sudo

在服务器上,运行以下命令以更新软件包索引,升级软件包以及安装nodejsnpm

apt-get update
apt-get upgrade

apt-get install python software-properties-common gcc g++ make -y  # auto install
add-apt-repository ppa:chris-lea/node.js -y

这些命令的输出应类似于:

gpg: keyring `/tmp/tmpvpe2ugzj/secring.gpg' created
gpg: keyring `/tmp/tmpvpe2ugzj/pubring.gpg' created
gpg: requesting key C7917B12 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpvpe2ugzj/trustdb.gpg: trustdb created
gpg: key C7917B12: public key "Launchpad chrislea" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
OK

自动将软件包签名密钥添加到密钥环(以便可以验证下载的软件包),并将PPA添加到APT的sources.list.d

现在,让我们运行:

apt-get update  # again 
apt-get install nodejs -y

运行npm以测试安装。您会npm在屏幕上看到的用法:

Usage: npm <command>
...
...
[email protected] /usr/lib/node_modules/npm

现在我们可以安装Ghost了。

安装:Ghost和Nginx

由于Ghost现在被认为是“稳定的”,因此可以通过安装npm。使用以下命令安装:

npm install -g ghost --production

现在忽略任何警告。

接下来,我们将启动Ghost并检查其是否正常运行。

cd /usr/lib/node_modules/ghost
npm start --production

输出应如下所示:

> [email protected] start /usr/lib/node_modules/ghost
> node index

Migrations: Database initialisation required for version 003
...
Migrations: Complete
Ghost is running... 
Your blog is now available on http://my-ghost-blog.com 
Ctrl+C to shut down

有用!使用Ctrl-C关闭Ghost,然后继续下一步:安装(和配置)Nginx。

Nginx的安装非常简单。运行以下命令:

apt-get install nginx

Nginx将配置为允许从野外到服务器上的端口80(如果使用SSL,则为443 )的连接,然后将其转发(“ 代理 ”)到Ghost。人们通过这种方式连接到您的博客。

配置Nginx也不难。请按照以下步骤配置Ghost代理。

首先,删除默认配置文件:

cd /etc/nginx/
rm sites-enabled/default

然后,制作一个新的配置文件:

cd sites-available
touch ghost

根据您的需要调整以下几行,并使用类似nanovi粘贴的内容(您需要将其设置server_name为域名):

server {
    listen 80;
    server_name yourdomain.tld;
    access_log /var/log/nginx/yourdomain.tld.log;  # if you want logging

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header HOST $http_host;       
        proxy_pass http://127.0.0.1:2368;
        proxy_redirect off;
    }
}

符号链接您的配置文件:

cd /etc/nginx
ln -s sites-available/ghost sites-enabled/ghost

重新启动Nginx:

service nginx restart

此时,Nginx已在服务器上安装,配置并运行。

最后:自动启动Ghost

Supervisor是一个过程控制系统,可让您在启动时运行Ghost,而无需使用初始化脚本。我们将安装Supervisor来管理Ghost。

要安装Supervisor,请运行:

apt-get install supervisor
service supervisor start

然后,在中创建一个新的脚本文件/etc/supervisor/conf.d/ghost.conf。粘贴以下内容:

[program:ghost]
command = node /usr/lib/node_modules/ghost/index.js
directory = /usr/lib/node_modules/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"

保存并关闭文件。

接下来,我们需要为Ghost创建一个用户,并为其授予访问Ghost文件和数据库的权限。运行以下命令:

useradd ghost
chown -R ghost /usr/lib/node_modules/ghost/
supervisorctl reread
supervisorctl update

我们的设置完成!

现在,您可以通过执行supervisorctl start ghost和来控制Ghost supervisorctl stop ghost



Leave a Comment

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。