ECS使用体验 - 从0搭建一个带有live2d看板娘的博客

简介: 纯新手,琢磨了两天,记录一下搭建的步骤。从0搭建一个带有live2d看板娘的博客目标:使用用户test 运行 halo博客以及live2d-api,然后使用Nginx进行反代

环境:

centos 7 64

用到的项目

博客halo:博客项目本身。https://docs.halo.run/

主题sakura:博客主题(自带看板娘live2d插件)。https://github.com/LIlGG/halo-theme-sakura

live2d-api:主题插件中使用到的live2d接口。https://github.com/fghrsh/live2d_api

目标:使用用户test 运行 halo博客以及live2d-api,然后使用Nginx进行反代

用到的软件

XShell、XFTP

用于windows远程管理服务器

搭建过程

ECS配置

1.更换操作系统

首先我们需要停止实例,然后,在网址https://ecs.console.aliyun.com/#/server/region/cn-heyuan,找到实例-更多-云盘和镜像-更换操作系统,我这里选择的是centos 7 64位

2.安全组配置

只有配置了安全组才可以允许指定的ip访问指定的端口,以后用到

3.宝塔面板安装(选做)

宝塔面板可以很方便的安装我们所需要的软件例如LNMP

同时也很方便的进行linux的防火墙管理

博客搭建

1.halo博客安装

这里我是使用的用户test进行安装,然后使用Nginx进行反向代理

跟着教程一步步安装就行,这里就不多赘述

2.主题安装

halo dashboard - 外观 - 主题 - 安装

跟随指引安装自己喜欢的主题,我这里选择自带live2d插件的sakura主题

3.开启Live2d插件

开启:主题 - 设置 - 插件功能 - Live2d插件

配置看live2d板娘:主题 - 设置 - 看板娘(需要先开启live2d插件)

这里有一个默认的看板娘api地址,如果需要使用自己的模型则需要自己配置自己的api

-------------------以下为live2d - api配置过程-------------------------

PHP环境搭建

live2d-api的作者使用php编写的api,所以我们也搭建一个php环境

这里具体配置方法百度即可,如果使用宝塔面板则可以一键配置。

宝塔面板安装的软件都在/www/server目录下

PHP FPM配置文件php-fpm.conf修改

文件位置:

  1. 自行安装的参考位置:/usr/local/php/etc/
  2. 宝塔面板:/www/server/php/74/etc

修改内容:

主要修改owner与group为test用户,这决定着运行进程的用户是谁,决定着文件的访问权限。参考如下

[global]
pid = /www/server/php/74/var/run/php-fpm.pid
error_log = /www/server/php/74/var/log/php-fpm.log
log_level = notice

# 进程池名称
[www]
# 接受 FastCGI 请求的地址,或者使用127.0.0.1:9000。注意这里的配置影响着后面nginx的配置
# Nginx和PHP-FPM的进程间通信有两种方式,一种是TCP,一种是UNIX Domain Socket.
# 其中TCP是IP加端口,可以跨服务器.而UNIX Domain Socket不经过网络,只能用于Nginx跟PHP-FPM都在同一服务器的场景.用哪种取决 
# 于你的PHP-FPM配置:
listen = /tmp/php-cgi-74.sock
listen.backlog = 8192
#允许访问FastCGI进程的IP,设置any为不限制IP,如果要设置其他主机的nginx也能访问这台FPM进程,listen处要设置成本地可被访问的IP。默认值是any。每个地址是用逗号分隔. 如果没有设置或者为空,则允许任何服务器请求连接
listen.allowed_clients = 127.0.0.1
#unix socket设置选项,如果使用tcp方式访问,这里注释即可。
listen.owner = test
listen.group = test
listen.mode = 0666
#启动进程的帐户和组
user = test
group = test

Nginx配置文件修改

主要修改如下注释:

# 运行Nginx的用户
user test;
worker_processes auto;
error_log /www/wwwlogs/nginx_error.log crit;
pid /www/server/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;

events {
    use epoll;
    worker_connections 51200;
    multi_accept on;
}

http {
    ...
    ...
    ...

    upstream halo {
    # halo博客启动的地址,默认如下
        server 127.0.0.1:8090;
    }
    upstream live2d_api {
    # live2d_api 的访问地址
        server 127.0.0.1:8091;
    }

    server {
        listen 80;
        listen [::]:80;
        server_name localhost;
        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;
        }
        # 通过一个端口的不同路径访问live2d_api
        location /live2d_api {
            proxy_pass http://live2d_api;
            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;
        }


    }
    # 配置php监听端口以及文件路径
    server {
        listen 8091;
        server_name localhost;
        location / {
            # 存放live2d_api项目的路径,注意项目的根目录为live2d_api,但是这里没有给出,而是给出的上一级目录,是因为上面同一端口访问不同路径的时候会进一步制定项目的根目录
            # 例如这里我的根目录 /home/test/.halo/templates/live2d_api;但是做如下配置:
            root /home/test/.halo/templates;
            index index.html index.htm index.php;
        }
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root html;
        }
        location ~ \.php$ {
            root /home/limit/.halo/templates;
            # 这里需要与php fpm配置相对应,对应关系如下:
            # php-fpm.conf: listen = 127.0.0.1:9000 对应 nginx.conf: fastcgi_pass 127.0.0.1:9000;
            # php-fpm.conf: listen = /tmp/php-cgi-74.sock 对应 nginx.conf: fastcgi_pass unix:/tmp/php-cgi-74.sock;
            fastcgi_pass unix:/tmp/php-cgi-74.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    }
    .....
}

在主题中配置api的访问路径

直接如下填写即可

/live2d_api/

至此所有的配置完毕。记得安全组与防火墙打开80端口哟

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
Ubuntu JavaScript 关系型数据库
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
在阿里云Ubuntu 20.04服务器上部署Ghost博客的步骤包括创建新用户、安装Nginx、MySQL和Node.js 18.x。首先,通过`adduser`命令创建非root用户,然后安装Nginx和MySQL。接着,设置Node.js环境,下载Nodesource GPG密钥并安装Node.js 18.x。之后,使用`npm`安装Ghost-CLI,创建Ghost安装目录并进行安装。配置过程中需提供博客URL、数据库连接信息等。最后,测试访问前台首页和后台管理页面。确保DNS设置正确,并根据提示完成Ghost博客的配置。
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
|
弹性计算 关系型数据库 Apache
基于ECS搭建云上博客
本场景将基于一台配置了CentOS 7.7操作系统的ECS实例(云服务器)。通过本教程的操作,您可以在一台CentOS 7.7操作系统的ECS实例上安装和部署LAMP环境,然后安装 WordPress,帮助您快速搭建自己的博客。
基于ECS搭建云上博客
|
域名解析 弹性计算 程序员
想要轻松地搭建一个即开即用的WordPress博客吗?借助宝塔面板镜像+阿里云ECS,迅速拥有自己的个人博客
拥有个人博客是每位程序员的梦想,但对服务器不熟悉的初学者而言,搭建博客颇具挑战。本文介绍利用阿里云市场的宝塔面板镜像与ECS云服务器,轻松搭建WordPress博客的方法,让您快速拥有专属博客空间。通过简单的操作步骤,即使是新手也能轻松上手,实现从零到有的博客搭建过程。
797 3
|
Linux 数据安全/隐私保护
基于阿里云服务器使用宝塔面板搭建 Typecho 博客
基于阿里云服务器使用宝塔面板搭建 Typecho 博客
|
域名解析 弹性计算 监控
阿里云服务器搭建博客网站教程
1. 购买阿里云ECS实例 2. 配置域名解析至服务器IP 3. 安装Nginx/Apache,部署网站文件 4. 安装MySQL等数据库,创建博客所需数据库 5. 安装WordPress等博客平台,按指南配置 6. 可选:启用SSL证书提升安全性 7. 设置备份与监控,确保安全稳定 完成以上步骤,即可在阿里云上成功搭建博客。记得更新维护,有问题参考阿里云文档或联系客服。 ```
529 0
|
弹性计算 关系型数据库 MySQL
带你读《弹性计算技术指导及场景应用》——2. 免费试用ECS,轻松搭建WordPress博客平台使用
带你读《弹性计算技术指导及场景应用》——2. 免费试用ECS,轻松搭建WordPress博客平台使用
389 0
|
弹性计算 监控 关系型数据库
阿里云ECS e实例最佳实践测评:搭建云上博客
阿里云ECS e实例最佳实践测评:搭建云上博客
56374 2
|
弹性计算 关系型数据库 MySQL
ECS 和 RDS快速安装Halo博客系统
Halo强大易用的开源建站工具。不仅美观、功能齐全,还有丰富的主题可以使用。
480 2
|
弹性计算 关系型数据库 Serverless
基于ECS和云数据库RDS MySQL Serverless搭建超可爱的二次元博客搭建心得
使用Ubuntu系统,通过使用Apache2、PHP以及云数据库RDS MySQL Serverless搭建Wordpress博客,并对其进行二次元美化,完成之后分享一下参加此活动的感受。
|
弹性计算 安全 关系型数据库
基于阿里云ECS和云数据库RDS搭建博客
对搭建博客整个心路历程进行总结
329 7

热门文章

最新文章