您的位置:首页 > 运维架构 > Tomcat

Linux下tomcat部署图片服务器与 vsftpd搭建

2017-10-31 10:16 731 查看
背景:由于app端需要透出每张电子发票的图片,则需要将发票图片从阿里开票平台下载过来,放置到图片服务器中,让其被人访问。

要求

分为接口服务器和图片服务器,图片放到图片服务器,且能被访问

图片服务器需要搭建vsftpd,使程序能通过ftp,将下载来的图片上传到图片服务器

搭建图片服务器

1、下载apache-tomcat-7.0.63.tar.gz ,解压并安装tomcat

tar -zxvf apache-tomcat-7.0.63.tar.gz



2、进入tomcat目录/config/server.xml, 修改此文件,建议拉到桌面进行修改,修改好后再拉到linux系统,进行覆盖。

我的server.xml 位置如下:



在server标签内添加内容如下:

<Service name="imageService">
<!--分配8089端口 -->
<Connector port="8089"
protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="GBK"
redirectPort="8443" />

<!--name 与 servicename 一致,defaultHost 为当前服务器的ip-->
<Engine name="imageService" defaultHost="192.168.140.6">
<!--name为项目访问地址 其他固定配置-->
<Host name="192.168.140.6" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<!--资源地址-->

<!--docBase 是图片的基础路径如果是Windows下的E://khnskd//fsjb
打个比方 图片路径=/home/ftpuser/e_invoice_images/aa.png ,访问url= 192.168.140.6:8089/aa.png-->
<Context path="" docBase="/home/ftpuser/e_invoice_images" debug="0" reloadable="false"/>
</Host>
</Engine>
</Service>


3、开启防火墙中此tomcat的对应端口



4、重启防火墙服务



5、启动tomcat,并查看运行情况

bin/startup.sh | tail -f logs/catalina.out



这样表示 tomcat服务启动正常了。

6、测试

再做个测试:将随便一个图片放到录/home/ftpuser/e_invoice_images/2017/09/05/kobe.jpg



访问此图片URL



ok! 这样也说明成功了!另外这是内网的地址,可以将此内网地址做个外网的映射,这样大家都可以访问了。

搭建vsftpd

1、查看此服务器是否装了vsftpd



如果有这个就说明已经安装,否则进行安装

2、使用 yum install vsftpd -y 进行在线安装

3、建立用户及他的指定目录

useradd -d /home/ftpuser ftpuser //增加用户ftpuser, 指定他的目录 /home/ftpuser

passwd ftpuser //为ftpuser设置密码 ,如果忘记ftpuser用户的密码,也可以使用此命令重置密码

只要知道用户名就好了。

额外的扩展:

usermod -d /test test //更改用户test的主目录为/test

4、限制用户只能访问它指定的目录,不能访问其他路径,也就是这样的效果,看看哈哈这个文件夹的路径就能对比出来

其他用户ftp登录



ftpuser用户登录: 相当于/home/ftpuser 为根目录了。



修改配置文件









设置完成后,在重启下vsftpd



就这样,ftp这个用户就只能访问 /home/ftpuser 下的目录了

5、 将匿名登录的功能关闭

vim /etc/vsftpd/vsftpd.conf



6、关闭seLinux (原因:这个东西基本用不上,开启来可能会跟vsftpd有冲突,基本上运维人员都会关掉,这货跟很多系统服务都不兼容。)

查看seLinux状态



如果是enabled,则去关闭

关闭SELinux:

1、临时关闭(不用重启机器):

setenforce 0 ##设置SELinux 成为permissive模式

b12f
##setenforce 1 设置SELinux 成为enforcing模式

2、修改配置文件需要重启机器:

修改/etc/selinux/config 文件

将SELINUX=enforcing改为SELINUX=disabled

重启机器即可

7、防火墙开启 ftp端口

因为ftp默认的端口为21,而centos默认是没有开启的,所以要修改iptables文件

vim /etc/sysconfig/iptables



保存完,再进行重启防火墙生效

service iptables restart

8、开启vsftpd的PASV模式(被动模式)

默认情况下vsftpd是支持PASV模式访问的,可以不作修改。

8.1修改/etc/vsftpd/vsftpd.conf文件配置

pasv_enable=yes (Default: YES) 设置是否允许pasv模式

pasv_promiscuous=no (Default: NO) 是否屏蔽对pasv进行安全检查,(当有安全隧道时可禁用)

pasv_max_port=10240 (Default: 0 (use any port)) pasv使用的最大端口

pasv_min_port=20480 (Default: 0 (use any port)) pasv使用的最小端口




8.2给防火墙添加FTP访问转换支持模块





请一定注意两行内容的位置关系不要搞反了。如果将”ip_nat_ftp”放到前面是加载不到的。如果你的ftp服务是过路由或者防火墙(即内网映射方式一定需要此模块)。以上等同于在加载iptables之前运行modprobe命令加载”ip_nat_ftp”和”ip_conntrack_ftp”模块。

8.3 给防火墙添加访问规则允许



等于开通10240~20480的端口

8.4重启防火墙服务 service iptables restart

8.5 检查模块是否加载成功



以上信息表明模块加载成功,可以在其他机器上使用FTP客户端进行访问了。

9、设置开机启动vsftpd

chkconfig vsftpd on

10、测试vsftpd是否正常

使用Xftp工具进行连接





ok 这样就说明成功。

参考博客地址:

http://www.cnblogs.com/kuliuheng/p/3209744.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息