centos7下nginx实现图片服务器(openresty+nginx-upload+lua脚本)带所有资源

各个文件的链接会在文章的最后给出来

在安装nginx之前建议关闭防火墙,因为后面的访问可能会因为防火墙问题导致无法访问

开机禁用防火墙:

systemctl disable firewalld.service

关闭防火墙:

systemctl stop firewalld.service

查看防火墙的状态:

systemctl status firewalld.service

安装依赖:

yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel

首先创建目录

mkdir /usr/local/openresty

进入目录

cd /usr/local/openresty

将下载好的openresty-1.15.8.2.tar.gz与nginx-upload-module-2.3.0.tar.gz放在当前目录并进行解压

tar -zxvf openresty-1.15.8.2.tar.gz

tar -zxvf nginx-upload-module-2.3.0.tar.gz

然后进入openresty-1.15.8.2文件夹执行:

cd openresty-1.15.8.2

./configure --add-module=/usr/local/openresty/nginx-upload-module-2.3.0/

之后执行

make && make install

cd /usr/local/openresty/nginx

mkdir lua_script

并且将一下三个文件分别上传到指定目录:
用下载好的:deal_upload.lua、nginx.config、index.html来替换原文件lua文件是直接添加进去的

/usr/local/openresty/nginx/lua_script (deal_upload.lua上传的目录)
/usr/local/openresty/nginx/conf (nginx.config上传的目录)替换源文件
/usr/local/openresty/nginx/html (index.html上传的目录)替换源文件

然后进行授权:

chmod -R 777 /usr/local/openresty

好了,到这里已经成功的建立好基于nginx的文件上传下载功能了如果不设置开机自启和设置nginx命令可以直接看后面的演示环节

为了之后方便可以直接使用nginx命令(非必须)

vim /etc/profile

在最后一行加上

export PATH=$PATH:/usr/local/openresty/nginx/sbin

然后保存并退出,执行以下命令之后就可以直接执行nginx命令了

source /etc/profile

以下为nginx基本的命令操作

停止nginx

nginx -s stop

检查配置是否正确

nginx -t

重新加载

nginx -s reload

配置开机启动

vim /lib/systemd/system/nginx.service

输入以下代码,并且保存

[Unit]
Description=nginx
After=network.target
//空行
[Service]
Type=forking
ExecStart=/usr/local/openresty/nginx/sbin/nginx
ExecReload=/usr/local/openresty/nginx/sbin/nginx reload
ExecStop=/usr/local/openresty/nginx/sbin/nginx quit
PrivateTmp=true
//空行
[Install]
WantedBy=multi-user.target

然后执行

systemctl start nginx.service

测试一下

lsof -i:80

如果出现以下信息说明OK

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 1398 root 6u IPv4 19609 0t0 TCP *:http (LISTEN)
nginx 1399 www 6u IPv4 19609 0t0 TCP *:http (LISTEN)

如果上述命令全部成功,执行以下命令设置为开机自动启动

systemctl enable nginx.service

下面是演示环节

启动nginx然后访问页面我改的默认端口为8080想要改成其他的端口的话可以更改/usr/local/openresty/nginx/conf/nginx.conf中的端口port配置将8080改为自己想指定的端口

首先访问页面
ip:端口
会进入这个index页面这里的话是由于将原本的index.html替换成了文件上传的html点击选择文件

注意选择非中文路径名称的图片文件点击确定centos7下nginx实现图片服务器(openresty+nginx-upload+lua脚本)带所有资源

centos7下nginx实现图片服务器(openresty+nginx-upload+lua脚本)带所有资源
确定之后会出现如下界面
centos7下nginx实现图片服务器(openresty+nginx-upload+lua脚本)带所有资源
点击upload进行上传第一次这个过程会超级慢(因为要做文件夹的创建创建总共建立16*16*16*16个文件夹共分为两级)

upload执行成功之后会返回如下字符串将这个字符串复制下来

centos7下nginx实现图片服务器(openresty+nginx-upload+lua脚本)带所有资源
将刚刚复制的地址粘贴在

ip:端口/files

如下centos7下nginx实现图片服务器(openresty+nginx-upload+lua脚本)带所有资源

当前上传的资源正在审批中…