Hey, miles

莫等闲,白了少年头q

0%

使用EasyImage构建图床

使用EasyImage构建图床

在写博客之前不觉得图床会有什么作用,知道我想往博客里面插入图片时才意识到问题的严重性哈哈。果然说搞服务器就是开启了新世界大门啊。

在网上搜索发现可用的图床有很多,不知道怎么选择,于是我选择了一下知乎大神推荐的EasyImage,用起来很舒服。知乎链接

本文记录下安装Easyimage的过程,由于是第一次使用php,记录下来以备后用。

本文采用的是Easyimage+Nginx的解决方案,操作系统为ubuntu18 LTS。

安装Easyimage

从 github 下载Easyimage,这里我将得到的文件解压到了/var/www/EasyImages2

安装php

Easyimage使用php编写,需先部署php环境

安装php7.2

1
2
sudo apt update
sudo apt install php7.2

安装结束使用一下命令查看是否安装成功

1
2
3
4
5
user@group:~$ php -v
PHP 7.2.24-0ubuntu0.18.04.7 (cli) (built: Oct 7 2020 15:24:25) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.24-0ubuntu0.18.04.7, Copyright (c) 1999-2018, by Zend Technologies

安装 php-fpm

Nginx 没有对 php 文件的内建支持,需要使用 php-fpm(fastCGI process manager)处理 php 文件

1
apt install php7.2-fpm

安装完成后,fpm 服务将自动启动:

1
2
3
4
user@group:~$ systemctl status php7.2-fpm
● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor
Active: active (running) since Tue 2021-03-02 01:26:12 CST; 1 day 18h ago

安装其他依赖项

这里提供了一部分需要的依赖项,未来可能需要更多,可以用 php7.2-[包名] 的方式安装。

1
apt install php7.2-mysql php7.2-curl php7.2-xml php7.2-mcrypt php7.2-json php7.2-gd php7.2-mbstring php7.2-zip

安装完成后可用php -m查看安装包

Nginx

Nginx (Engine X)是一款轻量级的http服务器,同时是一个高性能的http和反向代理服务器。介绍一片介绍Nginx入门级知识的博客

安装Nginx

1
apt install nginx

配置Nginx

使用vim创建Easyimage的Nginx配置文件vim /etc/nginx/conf.d/easyim.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
server {
listen 80; # 设置ipv4端口号
listen [::]:80 ipv6only=on; # 设置ipv6端口号

root /var/www/EasyImages2/; # 这里改为Easyimage的根目录,网站入口
index index.php index.html index.htm; # 设置首先解析的文件

# Nginx上传文件大小限制
client_max_body_size 32M;

# Make site accessible from http://localhost/
server_name 自己的域名;

location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ /index.php?$query_string;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}

location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

注意:

需要保持fastcgi_pass unix的值与/etc/php/7.1/fpm/pool.d/www.conf文件中listen = 的值一致

运行nginx -s reload使配置文件生效,随后访问你的域名:端口即可使用Easyimage了。

检查安装环境

可以将Nginx的配置文件/etc/nginx/conf.d/easyim.confindex值改为check.php以在网页上检查依赖项的安装及设置是否正确,十分方便。

Have fun!