图片服务器的搭建01

图片服务器的搭建01,第1张

nginx+vsftp搭建图片服务器

前言:

在分布式架构中,往往会有多个tomcat,然后你上传的图片只是在其中的某一个tomcat,你访问时是由集群的tomcat随机提供服务。当你访问的tomcat是有图片的那个时,图片能正常显示,如果恰巧是那个没有图片的tomcat时,图片就不能正常显示。这就完成了访问同一个图片,可能你刷新一次可以访问,再刷新一次图片就访问不到了。这时,我们就需要一个服务器用来专门存储图片,一般我们都用nginx。

1、nginx+vsftp:

上面分别介绍了nginx和vsftp,那么这两个东西怎么组合起来用呢?怎么实现这个图片服务器呢?我们知道,tomcat安装好启动后,在浏览器输入localhost:8080,就会出现tomcat的欢迎页,nginx也一样。比如linux的ip是192.168.50.122,那么启动nginx后,在浏览器访问这个地址也会出现nginx的欢迎页,其实是因为它有个默认的访问页面,完整的地址应该是192.168.50.122/index.html,那么我们就可以根据这个,把它默认的访问页面改成我们上传的图片的保存路径,比如上传了一张pic.jpg图片到linux的/home/ftpuser/images中,如果我们把默认访问页面改成/home/ftpuser,那么在浏览器中输入192.168.50.122/images/pic.jpg,就可以访问到这张图片了。下面就来介绍nginx、vsftp的安装以及配置。

<meta charset="utf-8">

1、安装:

2、添加ftp用户:

3、给ftp用户添加密码:

输入两次密码后修改密码。

4、修改selinux:

①查看状态:

执行这个命令可以看到

这两个都off,执行如下命令设置为on:

再次执行 getsebool -a | grep ftp 看到那两个状态是on就行了。

5、关闭匿名访问:

执行

命令:

还要在vsftp.conf文件最下面添加以下内容:

然后保存退出即可。

6、设置开机启动:

7、测试:

打开filezilla工具,输入虚拟机的ip,21端口,用户名和密码,点击快速连接,连接vsftp服务:

如图所示则连接成功。

<meta charset="utf-8">

按照以上步骤安装好nginx和vsftp后,还是不能访问上传的图片的,需要进行如下配置:

执行

命令,打开nginx的配置文件:

按道理这样就可以了,但是我访问却报错:

403 forbidden ,最后发现是因为ftpuser文件夹没有可读权限,执行如下命令:

再次访问即可成功!

至此图片服务器搭建完成!至于在Java中如何使用这个图片服务器,请参考 Java实现把图片上传到图片服务器 。

在搭建的过程中,遇到很多坑,因为我参考的教程是centos 6,防火墙是iptables,而centos 7是firewall,

打开nginx官网 http://nginx.org/en/download.html

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

cd /usr/local/

tar -zxvf nginx-1.20.1.tar.gz

./configure --with-http_ssl_module

编译参数有很多,这边我只增加了SSL模块,小伙伴可以根据自身情况调整

--prefix=PATH:指定 nginx 的安装目录

--conf-path=PATH:指定 nginx.conf 配置文件路径

--user=NAME:nginx 工作进程的用户

--with-pcre:开启 PCRE 正则表达式的支持

--with-http_ssl_module:启动 SSL 的支持

--with-http_stub_status_module:用于监控 Nginx 的状态

--with-http-realip_module:允许改变客户端请求头中客户端 IP 地址

--with-file-aio:启用 File AIO

--add-module=PATH:添加第三方外部模块

make

执行完上述命令后,在解压目录下,多出一个Makefile文件

make install

因编译时未指定安装目录,执行make install 命令后看到反馈日志信息,实际安装目录为/usr/local/nginx

进入实际安装目录,看看,并在其sbin目录下执行启动nginx

cd /usr/local/nginx/

浏览器访问 http://ip:80 , 显示如下图则代表部署成功

进入 /usr/local/nginx/conf/ 文件夹,找到nginx.conf 文件

worker_processes 1

events {

worker_connections 1024

}

http {

include mime.types

default_type application/octet-stream

sendfileon

keepalive_timeout 65

server {

listen 8088

server_name localhost

location ~ .*.(gif|jpg|jpeg|png|apk|pdf)$ {

expires 24h

root /usr/local/img/#指定图片存放路径

access_log /usr/local/nginx/logs/images.log#日志路径

proxy_store on

proxy_store_access user:rw group:rw all:rw

proxy_temp_path /usr/local/img/#代理临时路径

proxy_redirect off

}

修改配置文件,内容如上

cd /usr/local/nginx/sbin

./nginx -s reload

浏览器输入 http://ip:8088/1.png ,查看是否能正常显示图片


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/414761.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存