系统环境
使用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 。
此时,博主想到了两种解决方案:
重新将磁盘挂载到
/usr/share/nginx/html/EasyImages2.0-2.8.5/pic。使用软链接将
/usr/share/nginx/html/EasyImages2.0-2.8.5/pic指向/pic。
显然,第一个方案没有第二个方案灵活,原因如下:
重新挂载磁盘需要该磁盘不繁忙。
如果需要更换图床部署目录,需要重新挂载。
所以最终博主采用了第二个方案:
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的权限。