ECS使用体验 – 从0搭建一个带有live2d看板娘的博客
环境:
centos 7 64
用到的项目
博客halo:博客项目本身。https://docs.halo.run/
(福利推荐:阿里云、腾讯云、华为云服务器最新限时优惠活动,云服务器1核2G仅88元/年、2核4G仅698元/3年,点击这里立即抢购>>>)
主题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博客安装
教程网址:https://docs.halo.run/install/linux
这里我是使用的用户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修改
文件位置:
- 自行安装的参考位置:/usr/local/php/etc/
- 宝塔面板:/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?userCode=wrvvs1rm index.htm index.php; } error_page 500 502 503 504 /50x.html?userCode=wrvvs1rm; location = /50x.html?userCode=wrvvs1rm { 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端口哟
你还在原价购买阿里云、腾讯云、华为云、天翼云产品?那就亏大啦!现在申请成为四大品牌云厂商VIP用户,可以3折优惠价购买云服务器等云产品,并且可享四大云服务商产品终身VIP优惠价,还等什么?赶紧点击下面对应链接免费申请VIP客户吧:
相关文章
- PWN头秃之旅 - 5.经典栈溢出实验(linux_x86)
- PWN头秃之旅 - 1.Linux的保护机制
- 靶机练习-VulnHub-Escalate_Linux: 1
- 中文编程是什么语言?-php是一种什么编程语言
- git命令学习
- Linux常用命令汇总
- c++ primer读书笔记
- 分享 Github 上适合开发人员强大开源的速查手册
- js 数组去除重复数据-当WPS开始像支持VBA一样支持JS语言时,微软又该何去何从?
- linux安装mysql,远程使用navicat连接
- 前端Vue和React项目 Git 管理常用.gitignore配置
- Git 使用笔记
- c/s架构开发-C#下基于C/S架构的任务管理系统——开发安装
- pthread_create 线程属性-Linux学习——线程的创建和回收
- c++实现一个堆-包含插入删除获取
- Golang编译的二进制文件在alpine中无法运行
- C++如何简单快速去除容器中的重复元素
- 让devc++使用c++11标准
- git常用指令
- 纯C++实现字符版坦克大战