记一次部署开源纯静态图床EasyImages2.0

系统环境 使用RHEL8或其衍生版,博主这里用的是腾讯云提供的OpenCloudOS 8。 部署过程 安装NGINX和PHP及其相关依赖 dnf -y install php php-mbstring php-gd nginx php-json 修改PHP配置 vi /et

系统环境

使用RHEL8或其衍生版,博主这里用的是腾讯云提供的OpenCloudOS 8。

部署过程

安装NGINX和PHP及其相关依赖

dnf -y install php php-mbstring php-gd nginx php-json

修改PHP配置

vi /etc/php.ini

upload_max_filesize = 100M    # 最大上传文件大小
post_max_size = 100M    # POST请求最大大小
max_execution_time = 600    # 脚本执行超时时间
max_input_time = 600    # 上传超时时间
memory_limit = 1024M    # 内存使用上限
max_file_uploads = 100    # 单请求最大上传文件数量
open_basedir = /usr/share/nginx/html/EasyImages2.0-2.8.5:/tmp

修改NGINX配置

修改NGINX默认配置文件的server块。

vi /etc/nginx/nginx.conf

server{
    listen 80;
    server_name pic.example.com;
    root /usr/share/nginx/html/EasyImages2.0-2.8.5; 
    client_max_body_size 120M;
    client_body_timeout 600s;
    client_header_timeout 600s;
    location / {
        try_files $uri $uri/ =404;
    } 
}

启动nginx和php

systemctl enable --now php-fpm
systemctl enable --now nginx

下载EasyImages2.0文件并安装

wget https://github.com/icret/EasyImages2.0/archive/refs/tags/2.8.5.tar.gz
tar -zxf 2.8.5.tar.gz 
cp EasyImages2.0-2.8.5/ /usr/share/nginx/html/
chmod -R 0755 /usr/share/nginx/html/EasyImages2.0-2.8.5
chown -R apache:apache /usr/share/nginx/html/EasyImages2.0-2.8.5

踩坑一:修改图片存放目录

博主单独挂载了一块磁盘作为独立的图片存储使用,挂载点为/pic 。随后在图床设置界面,将上传路径直接修改为/pic,再次上传图片则会上传失败。回想起之前的设置是/i,而存储的位置是,/usr/share/nginx/html/EasyImages2.0-2.8.5/i。到这里,博主反应过来了,设置的/pic 实际上是基于部署目录的相对路径,即/usr/share/nginx/html/EasyImages2.0-2.8.5/pic ,而非系统的绝对路径/pic

此时,博主想到了两种解决方案:

  1. 重新将磁盘挂载到/usr/share/nginx/html/EasyImages2.0-2.8.5/pic

  2. 使用软链接将/usr/share/nginx/html/EasyImages2.0-2.8.5/pic 指向/pic

显然,第一个方案没有第二个方案灵活,原因如下:

  1. 重新挂载磁盘需要该磁盘不繁忙。

  2. 如果需要更换图床部署目录,需要重新挂载。

所以最终博主采用了第二个方案:

ln -s /pic /usr/share/nginx/html/EasyImages2.0-2.8.5/pic
chmod 0755 -R /usr/share/nginx/html/EasyImages2.0-2.8.5/pic
chown apache:apache -R /usr/share/nginx/html/EasyImages2.0-2.8.5/pic

注意还要修改open_basedir参数

vi /etc/php.ini

open_basedir = /usr/share/nginx/html/EasyImages2.0-2.8.5:/tmp:/pic

总结

安装EasyImages2.0实际上相当容易,基本步骤仅有安装并配置NGINX和PHP。但是需要注意目录权限和PHP的权限。

LICENSED UNDER CC BY-NC-SA 4.0
Comment