CentOS7使用宝塔面板搭建AUXPI图床并添加系统服务

前言

之前写了一篇使用AUXPI搭建了一个第三方图床聚合的文章,这段时间随便文章没写多少,撸着图床发现还挺好用,但是发现一个小瑕疵,就是重启服务器之后supervisord会多一个auxpi进程,需要killall -9 auxpi一次才能恢复,否则首页可以访问,访问第三方图床路由会出现404的现象,于是尝试着解决这个问题并记录下来

准备工作

  • 服务器(VPS)一台
  • 安装宝塔面板

开始安装

环境准备

或许大多数站长不会使用一台VPS安装宝塔只为了部署一个图床,或许还有其他的自己的网站,LNMP环境基本都有,这里只强调MySQL需要>=5.6,PHP无所谓,AUXPI并不需要PHP支持

环境安装.png

添加网站

网站填入自己的域名,创建好MySQL数据库信息并记录,PHP版本选项选择纯静态,因为AUXPI不需要PHP支持

添加站点.png

找到刚刚添加的网站点击进去,SSL是否配置可选,这里不做阐述,直接进入反向代理选项卡来添加一个反代如图

反向代理.png

添加之后我们编辑该反代的配置文件,直接清空并复制我的如下配置:

#PROXY-START/

location /
{
    proxy_pass http://127.0.0.1:2333;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
}

#PROXY-END/

接下来进入站点配置文件,从#SSL-END下一行开始到最后一个花括弧之前,使用我的如下配置进行替换

    #ERROR-PAGE-START  错误页配置,可以注释、删除或修改
    #error_page 404 /404.html;
    #error_page 502 /502.html;
    #ERROR-PAGE-END
    
    #PHP-INFO-START  PHP引用配置,可以注释或修改
    #清理缓存规则

    location ~ /purge(/.*) {
        proxy_cache_purge cache_one $host$1$is_args$args;
        #access_log  /www/wwwlogs/img.pisf.in_purge_cache.log;
    }
    #引用反向代理规则,注释后配置的反向代理将无效
    include /www/server/panel/vhost/nginx/proxy/img.pisf.in/*.conf;

    include enable-php-00.conf;
    #PHP-INFO-END
    
    #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
    include /www/server/panel/vhost/rewrite/img.pisf.in.conf;
    #REWRITE-END
    
    #禁止访问的文件或目录
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
    {
        return 404;
    }
    
    #一键申请SSL证书验证目录相关设置
    location ~ \.well-known{
        allow all;
    }
    

重启一下nginx,宝塔上网站操作的步骤就算是完成了!

安装AUXPI

使用root账户通过SSH连接至服务器并执行如下命令:

wget -N --no-check-certificate https://raw.githubusercontent.com/aimerforreimu/AUXPI/dev/install.sh && chmod +x install.sh && bash install.sh install

执行完成之后会提示安装成功。

配置AUXPI

在SSH下执行如下命令进行程序初始化

cd ~/auxpi
chmod -u+x auxpi
./auxpi init

输出如下内容即为完成初始化

   _       __  __  ___ _____
  /_\  /\ /\ \/ / / _ \\_   \
 //_\\/ / \ \  / / /_)/ / /\/
/  _  \ \_/ /  \/ ___/\/ /_
\_/ \_/\___/_/\_\/   \____/

 A NEW API IMAGES STORE TOOL 

2019/03/10 20:19:53.169 [A] [main.go:23]  [./auxpi init]
[INFO]:AUXPI have already initialization complete.
[INFO]:Please run "./auxpi run"  to start

找到/root/auxpi/conf/siteConfig.json/root/auxpi/conf/app.conf两个文件并修改文件内的MySQL连接信息,找到类似如下配置处进行修改(特别注意,官方Github文档没有说要修改app.conf,亲测不修改的话数据库创建会出错,无法连接,必须修改app.conf中的数据库信息

"db_option": {
    "use_db": true,     
    "db_type": "mysql",       
    "db_host": "127.0.0.1:3306",    #数据库地址,正常不需要修改
    "db_name": "auxpi",             #数据库名称
    "db_user": "root",              #数据库用户名
    "db_pass": "root",              #数据库密码
    "table_prefix": "auxpi_"        #数据表前缀,可不修改
  },

创建/迁移数据库

修改完数据库信息之后,创建数据库

cd ~/auxpi
./auxpi migrate

看到如下输出即为创建数据库成功

   _       __  __  ___ _____
  /_\  /\ /\ \/ / / _ \\_   \
 //_\\/ / \ \  / / /_)/ / /\/
/  _  \ \_/ /  \/ ___/\/ /_
\_/ \_/\___/_/\_\/   \____/

 A NEW API IMAGES STORE TOOL 

[SUCCESS]: Database migrate Done

创建管理员

执行如下命令并将相关信息改成自己的

cd ~/auxpi
./auxpi -mod=admin -name=hello -email=xxx@xxx.xxx -pass=123123123 

看到如下输出结果即为管理员创建成功(有且只有一个)

   _       __  __  ___ _____
  /_\  /\ /\ \/ / / _ \\_   \
 //_\\/ / \ \  / / /_)/ / /\/
/  _  \ \_/ /  \/ ___/\/ /_
\_/ \_/\___/_/\_\/   \____/

 A NEW API IMAGES STORE TOOL 

2019/03/10 20:39:32.827 [A] [users.go:245]  [Models Error]:  record not found  ===>[users.go:245]
[SUCCESS]:Create Admin SUCCESS

此时AUXPI配置已经完成,通过./auxpi run即可运行进行测试

添加服务

既然安装和配置完成了,那么最后一步来进行系统服务配置,使用supervisord进行后台托管并添加开机自启动

安装supervisord

yum install python-setuptools
easy_install supervisor

配置supervisord

echo_supervisord_conf > /etc/supervisord.conf #创建配置文件
vim /etc/supervisord.conf 编辑配置文件

这里注意一下,修改supervisord.conf中的nodaemon=falsenodaemon=true,并在文件末尾加上如下内容

[program:auxpi]
directory=/root/auxpi
command=/root/auxpi/auxpi
autostart =true
startsecs=5
autorestart =true
startretries=3
user=root
redirect_stderr=true
stdout_logfile_maxbytes=20MB
stdout_logfile_backups=20
stdout_logfile =/root/auxpi/auxpi_stdout.log

将supervisord添加至服务并开机自启

在SSH下执行vim /lib/systemd/system/supervisord.service创建一个文件,输入如下内容

# supervisord service for sysstemd (CentOS 7.0+)
# by ET-CS (https://github.com/ET-CS)

[Unit]
Description=Supervisor daemon

[Service]
ExecStart=/usr/bin/supervisord
ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/bin/supervisorctl $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

保存后通过执行systemctl enable supervisord.service允许supervisord启动,之后可以通过systemctl start|stop|restart|status supervisord.service进行管理

接下来加入开机启动,执行如下命令

chmod +x /etc/rc.d/rc.local #赋予rc.local可执行权限
echo 'systemctl restart supervisord.service' >> /etc/rc.d/rc.local #开机自动重启一次supervisord,解决第三方图床路由404的问题

一波操作完成后,我们的图床也已经好了。reboot一下再访问自己在宝塔添加的域名就行了。看看两张图,本文所有图片均使用AUXPI提供的阿里公共CDN图床上传。

图床前台:

前台截图.png

图床后台:

后台截图.png

本文链接:

https://www.pishifu.org/archives/20191219/352.html

版权声明:

本站所有未注明转载的文章均为原创,如需转载请以【本文标题+本文链接】的形式注明出处;若本站任何文章中所涉及的内容或资源侵犯了您的版权,请第一时间联系予以删除,谢谢!

1 + 2 =
快来做第一个评论的人吧~