背景
FreeBSD是一个类Unix系统,比同样是类Unix系统的Linux更加接近Unix。在我的一台腾讯云服务器上,就安装了FreeBSD,作为一个计算机爱好者的独特体验。那么怎么样把FreeBSD、把这台服务器用起来呢?最简单的办法就是在上面跑一些应用。因此,我选择跑一个博客。
然而,与Linux相比,FreeBSD系统的教程非常少。花费了一些时间才把这个Ghost博客搭建起来。为此,把相关搭建过程记录下来。
搭建过程
一、以root用户执行下列过程
1、安装所需的软件包。- # pkg update
- # pkg install mysql80-server mysql80-client node18 npm-node18 nginx
复制代码 如果安装过慢,可以更换成中科大源。
2、启用mysql- # service mysql-server enable
- # service mysql-server start
- # mysql_secure_installation
复制代码 在此过程中,设置mysql的root密码。
3、创建ghost数据库用户。- # mysql -u root -p
- CREATE USER 'ghost'@'localhost' IDENTIFIED BY 'IsThisEnoughBitsOfEntropy?_^';
- CREATE DATABASE yourblog_ext_prod;
- GRANT ALL privileges ON `yourblog_ext_prod`.* TO 'ghost'@'localhost';
复制代码 请注意,将上面的相关信息更换成你自己的信息。
4、启用nginx- # service nginx enable
- # service nginx start
复制代码 5、安装ghost-cli- # npm install ghost-cli -g
复制代码 如果安装速度过慢,更新成腾讯源。
即使更新成腾讯源,也要大概30分钟。
6、在FreeBSD系统上创建一个新用户。这里假设创建的用户名为user。然后执行以下操作:- # mkdir /usr/local/www/yourblog.ext
- # chown user:user /usr/local/www/yourblog.ext
- # chmod 775 /usr/local/www/yourblog.ext
- # su - ghost
- $ cd /usr/local/www/yourblog.ext
复制代码 二、现在是以user身份:
7、执行以下命令。依次输入以下信息:- ? Enter your blog URL: https://yourblog.ext/
- ? Enter your MySQL hostname: 127.0.0.1
- ? Enter your MySQL username: ghost
- ? Enter your MySQL password: [hidden]
- ? Enter your Ghost database name: ghostdemo_prod
- ✔ Configuring Ghost
- ✔ Setting up instance
- ℹ Setting up "ghost" mysql user [skipped]
- Nginx is not installed. Skipping Nginx setup.
- ℹ Setting up Nginx [skipped]
- Nginx setup task was skipped, skipping SSL setup
- ℹ Setting up SSL [skipped]
- ? Do you wish to set up Systemd? No
- Systemd setup skipped, reverting to local process manager
- ℹ Setting up Systemd [skipped]
- ? Do you want to start Ghost? No
- ℹ Starting Ghost [skipped]
复制代码 8、修改权限,保护密码安全:- $ chmod 600 /usr/local/www/yourblog.ext/config.production.json
- $ ghost start
复制代码 三、切换到root用户,完成以下操作。
9、修改/usr/local/etc/nginx/nginx.conf ,改为以下内容:- http {
- include mime.types;
- include /usr/local/etc/nginx/sites-enabled/*.conf;
- default_type application/octet-stream;
- sendfile on;
- keepalive_timeout 65;
- gzip on;
- }
复制代码 10、创建以下两个文件夹,以符合nginx规范。- # mkdir /usr/local/etc/nginx/sites-available
- # mkdir /usr/local/etc/nginx/sites-enabled
复制代码 11、编辑/usr/local/etc/nginx/sites-available/yourblog_ext.conf,写入以下内容:- server {
- listen 80;
- listen [::]:80;
- server_name yourblog.ext;
- location / {
- return 301 https://$host$request_uri;
- }
- }
- server {
- listen 443 ssl;
- listen [::]:443 ssl;
- server_name yourblog.ext;
- location / {
- proxy_set_header HOST $host;
- proxy_set_header X-Forwarded-Proto $scheme;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_pass http://127.0.0.1:2368/;
- }
- ssl_certificate /usr/local/etc/letsencrypt/live/yourblog.ext/fullchain.crt;
- ssl_certificate_key /usr/local/etc/letsencrypt/live/yourblog.ext/privkey.key;
- }
复制代码 注意,ssl路径可以自定义。
12、执行以下命令,完成nginx配置。- # ln -s /usr/local/etc/nginx/sites-available/yourblog_ext.conf /usr/local/etc/nginx/sites-enabled/yourblog_ext.conf
- # nginx -t
- # service nginx restart
复制代码 完成上述配置后,访问以下链接,访问ghost服务。参考链接
https://www.blakecarpenter.dev/install-ghost-on-freebsd/
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |