# 建站记录
> 使用ubuntu+nginx+halo搭建博客
## 准备
1. 云服务器
2. 购买域名
3. 备案
4. 记得开放8090端口
## 配置
```
sudo apt-get update
apt-get install openjdk-17-jre-y
java -version
```
```
mkdir ~/app && cd ~/app
wget https://dl.halo.run/release/halo-1.4.17.jar -O halo.jar
mkdir ~/.halo && cd ~/.halo
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
```
编辑配置文件,配置数据库或者端口
```
vim application.yaml
```
测试运行
```
cd ~/app && java -jar halo.jar
```
ctrl + c 结束进程
```
wget https://dl.halo.run/config/halo.service -O /etc/systemd/system/halo.service #通过链接下载server文件,并且自定义保存位置
vim /etc/systemd/system/halo.service
```
```
[Unit]
Description=Halo Service
Documentation=https://halo.run
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=USER
ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar YOUR_JAR_PATH
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslog
StandError=inherit
[Install]
WantedBy=multi-user.target
```
```YOUR_JAR_PATH```:Halo 安装包的绝对路径,例如 /home/halo/app/halo.jar。或/root/app/halo.jar,不要用~
```USER```:运行 Halo 的系统用户的用户名,如果用root登录请删除User=USER。
反向代理
```
sudo apt install nginx
```
```
vim /etc/nginx/conf.d/halo.conf
```
```
server {
listen 80;
server_name lcx-blog.top;
client_max_body_size 1024m;
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:8090/;
}
}
```
```
nginx -t #检查配置是否有误
nginx -s reload #重载Nginx配置
```
```
systemctl daemon-reload
systemctl start halo
systemctl enable halo
journalctl -n 20 -u halo
```
## 图床
使用七牛云加typora
https://zhuanlan.zhihu.com/p/340105623
https://zhuanlan.zhihu.com/p/137310314
https://blog.csdn.net/fate2021fate/article/details/116427150
记得picgo的位置,可以像上文一样采用命令行启动,txt配置。
也可以应用程序启动picgo,在图形界面配置。
![image-20220707151645382](http://cdn.lcx-blog.top/img/image-20220707151645382.png)
建站记录