已将博客迁移到ucloud北京机上

zhanglei 2024年05月09日 672次浏览

1. 备份博客文章和相关设置

1.1 将博客数据导出

1.2 将数据文件下载

2. 将域名解析到新的服务器ip

可以使用 cloudflare 将 zhangleistudy.com 这个域名解析到新的服务器 ip 地址。(这步省略,不会自行google)

3. 将博客装上 centos 7(或7.x)并远程连接服务器

在服务器后台操作。

4. 安装 java 环境

4.1 安装 jdk

sudo yum install java-11-openjdk -y

4.2 检查版本

java -version

如果出现下列版本信息,则表示安装成功:

5. 下载 halo.jar 及配置文件 application.yaml

5.1 创建存放 jar 包的目录

mkdir ~/app && cd ~/app

5.2 创建工作目录

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

5.3 下载 halo.jar

使用我之前存下来的:

链接:https://pan.baidu.com/s/1SKrmjEyD0g8bD-EYcWQSIw 
提取码:halo 
--来自百度网盘超级会员V5的分享

将这个 halo.jar 文件通过 sftp 移动到 ~/app 目录中:

也可以使用如下命令下载:

首先切换到 ~/app 目录下:

cd ~/app

使用命令下载 jar 包:

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

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

5.4.1 切换到工作目录

cd ~/.halo

5.4.2 使用命令下载示例配置文件

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

5.5 测试运行 halo

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

看到以下输出,则启动成功:

按 ctrl+c 结束。

5.5.1 打开浏览器,输入 http://ip: 端口号 看有没有安装引导界面

选择数据导入,将在 1.2 节下载下来的 json 文件导入进去:

6. 将 halo 作为服务运行

6.1 下载 halo 官方的 halo.service 模板

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

6.2 修改 halo.service 文件

vim /etc/systemd/system/halo.service

改后如下:

保存退出。

6.3 重新加载 systemd

systemctl daemon-reload

6.4 运行服务

systemctl start halo

6.5 在系统启动时启动服务

systemctl enable halo

7. 现在nginx 进行域名反代

7.1 命令下载 nginx

sudo yum install nginx

7.2 启动 nginx

sudo systemctl start nginx

7.3 查看 nginx 状态

sudo systemctl status nginx

如果出现 active 则表示 nginx 启动成功:

7.4 设置 nginx 开机自启

sudo systemctl enable nginx

7.5 将证书文件放入 /etc/xray_cert文件夹中

7.5.1 切换到 /etc目录

cd /etc

7.5.2 创建 xray_cert文件夹

mkdir xray_cert

7.5.3 将 .crt 和 .key文件通过 sftp 传到 xray_cert文件夹中

7.6 修改 nginx 文件实现反代

vim /etc/nginx/nginx.conf

替换成如下内容:

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;
    #keepalive_requests 100;

    #gzip  on;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
    
    # SSL configuration can be placed here for global settings or inside server blocks

    server {
        listen 443 ssl http2;
        server_name zhangleistudy.com;
        
        ssl_certificate /etc/xray_cert/xray.crt;
        ssl_certificate_key /etc/xray_cert/xray.key;
        ssl_protocols TLSv1.2 TLSv1.3;
        # other SSL configurations

        location / {
            proxy_pass http://localhost:8090;
            # other proxy settings
        }

        # Logging
        access_log /var/log/nginx/zhangleistudy_access.log;
        error_log /var/log/nginx/zhangleistudy_error.log;
    }

    server {
        listen 80;
        server_name zhangleistudy.com;

        location / {
            return 301 https://$host$request_uri;
        }
    }

    # Additional server blocks can be added here
}

保存退出。

7.7 重启 nginx

sudo systemctl restart nginx

7.8 访问域名即可访问网站

8. 主题

使用我自己最喜欢的简约主题,zip文件如下:

链接:https://pan.baidu.com/s/1J7jQVyVo6szeZ2NxFKzGbA 
提取码:them 
--来自百度网盘超级会员V5的分享