700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 从零开始在云服务器上搭建个人博客

从零开始在云服务器上搭建个人博客

时间:2018-09-12 23:07:45

相关推荐

从零开始在云服务器上搭建个人博客

写在前面

搭建个人博客不仅可以将学过的知识融会贯通更好的理解,还可以将自己的经验或者是踩过的坑传授给后来者,帮助他们更好的学习!Halo是在Github上开源的Java博客系统,我将用它从零开始在阿里云服务器上搭建个人博客。点击查看官方文档。

前期准备

1.云服务器

我使用的是阿里云服务器,也可以使用其他云服务器,例如腾讯云等等。

2.域名

可以在万网查询并注册自己的域名。注:如果不想注册域名也可以使用IP进行访问。

3.系统环境

⑴. CentOS 服务器

⑵. JRE 运行环境

⑶. Nginx Http服务器

⑷. putty SSH连接软件

配置云服务器

创建一个实例,并安装CentOS 7.4 64位 操作系统,复制公网IP。

连接服务器

输入IP和服务器后点击open。

输入账号root和密码,注:密码是不显示的,请不要惊慌,输入后回车即可。

在Linux环境部署

1.依赖检查

目前运行 Halo 的最低依赖要求为 JRE 11,请务必确保在进行下面操作之前已经正确安装了 JRE。

sudo yum install java-11-openjdk -y

检查版本

java -version

如果输出以下类似内容即代表成功

openjdk version "11.0.10" -01-19 LTSOpenJDK Runtime Environment 18.9 (build 11.0.10+9-LTS)OpenJDK 64-Bit Server VM 18.9 (build 11.0.10+9-LTS, mixed mode, sharing)

2.安装

创建一个名为 halo 的用户(名字可以随意)

useradd -m halo

给予 sudo 权限

usermod -aG wheel halo

为 halo 用户创建密码

passwd halo

登录到 halo 账户

su - halo

创建存放 运行包 的目录

mkdir ~/app && cd ~/app

下载运行包

wget https://dl.halo.run/release/halo-1.4.12.jar -O halo.jar

创建 工作目录

mkdir ~/.halo && cd ~/.halo

下载示例配置文件到 工作目录

wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml

编辑配置文件,配置数据库或者端口等,注:如不需要可不进行配置,默认端口为8090。

vim application.yaml

测试运行 Halo

cd ~/app && java -jar halo.jar

如看到类似以下日志输出,则代表启动成功。

run.halo.app.listener.StartedListener : Halo started at http://127.0.0.1:8090run.halo.app.listener.StartedListener : Halo admin started at http://127.0.0.1:8090/adminrun.halo.app.listener.StartedListener : Halo has started successfully!

在浏览器打开 http://ip: 端口号 即可看到安装引导界面。

如测试启动正常,请继续看作为服务运行部分,第 8 步仅仅作为测试。当你关闭 ssh 连接之后,服务会停止。你可使用 CTRL+C 停止运行测试进程。

如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 http://ip: 端口号 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。

配置安全组

在云服务器控制台点击实例名称。

点击配置规则。

点击手动添加,按照图示添加一条配置,开放8090端口。

作为服务运行

退出 halo 账户,登录到 root 账户

exit

下载 Halo 官方的 halo.service 模板

wget https://dl.halo.run/config/halo.service -O /etc/systemd/system/halo.service

修改 halo.service

vim /etc/systemd/system/halo.service

修改配置

YOUR_JAR_PATH:Halo 运行包的绝对路径,例如 /home/halo/app/halo.jar,注意:此路径不支持 ~ 符号。

USER:运行 Halo 的系统用户,如果有按照上方教程创建新的用户来运行 Halo,修改为你创建的用户名称即可。反之请删除 User=USER。

[Unit]Description=Halo ServiceDocumentation=https://halo.runAfter=network-online.targetWants=network-online.target[Service]Type=simpleUser=USERExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar YOUR_JAR_PATHExecStop=/bin/kill -s QUIT $MAINPIDRestart=alwaysStandOutput=syslogStandError=inherit[Install]WantedBy=multi-user.target

请确保 /usr/bin/java 是正确无误的。建议将 ExecStart 中的命令复制出来运行一下,保证命令有效。

重新加载 systemd

systemctl daemon-reload

运行服务

systemctl start halo

在系统启动时启动服务

systemctl enable halo

您可以查看服务日志检查启动状态

journalctl -n 20 -u halo

初始化

进行到这一步就可以通过IP访问服务器并对Halo进行初始化设置。

这是我的博客IPhttp://8.130.25.248:8090

注:http://8.130.25.248:8090/admin 这是博客后台地址,要账号密码才能进后台哦ヾ(•ω•`)o

安装并测试Nginx

安装依赖包

//一键安装上面四个依赖yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

下载并解压安装包

//创建一个文件夹cd /usr/localmkdir nginxcd nginx//下载tar包wget /download/nginx-1.13.7.tar.gztar -xvf nginx-1.13.7.tar.gz

安装nginx

//进入nginx目录cd /usr/local/nginx//进入目录cd nginx-1.13.7//执行命令./configure//执行make命令make//执行make install命令make install

配置nginx.conf

# 打开配置文件vi /usr/local/nginx/conf/nginx.conf

启动nginx

/usr/local/nginx/sbin/nginx -s reload

如果出现报错:nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed

则运行: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

再次启动即可!

查看nginx进程是否启动

ps -ef | grep nginx

若想使用外部主机连接上虚拟机访问端口192.168.131.2,需要关闭虚拟机的防火墙

centOS6及以前版本使用命令

systemctl stop iptables.service

centOS7关闭防火墙命令

systemctl stop firewalld.service

访问服务器ip查看,备注:由于我监听的仍是80端口,所以ip后面的端口号被省略。

反向代理

修改配置文件

vi /usr/local/nginx/conf/nginx.conf

修改后

upstream halo {server 127.0.0.1:8090;}server {listen 80;listen [::]:80;server_name ;client_max_body_size 1024m;location / {proxy_pass http://halo;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;}}

Nginx 默认的 client_max_body_size 配置大小为 1m,可能会导致你在 Halo 后台上传文件被 Nginx 限制,所以此示例配置文件加上了 client_max_body_size 1024m; 这行配置。当然,1024m 可根据你的需要自行修改。

域名解析

以上工作完成后,最后进行域名的解析,将域名指向IP,就可以通过域名访问IP了。在云解析DNS中点击域名。

再点击添加记录,按照图示填写即可。也可点击新手指导按照指导进行。

完成后需要进行实名认证,和ICP备案。

注:不进行备案,国内的Http服务器将无法使用,实名认证2~3天后,数据同步后才可以进行备案。

完结撒花✿✿ヽ(°▽°)ノ✿

以上工作全部完成后,就可以通过域名访问我们的博客了。在Halo中我们还可以通过设置主题打造自己的个性博客。

当然,如果有能力还可以自己编写主题(づ ̄ 3 ̄)づ

到这里就完结撒花啦✿✿ヽ(°▽°)ノ✿

欢迎参观我的博客www.huanghaohao.top。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。