Nginx和FTP搭载图片服务器
最近进行公司的项目改造,这里主要讲述的是上传图片的改造内容。
传统的小项目一般都是用户访问系统,使用上传图片功能,那么图片就上传到你的当前项目所在的tomcat服务器上,在/image下,上传成功后用户可以直接访问,例如:
http://ip:port/project/images/xxx.jpg
这样做在用户少的时候是没有问题的
一、Nginx安装
1.安装gcc
安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境.
yum install gcc-c++
2. openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
yum install -y openssl openssl-devel
3.解压nginx安装包
tar -vxf nginx-1.12.2.tar
4.进行./configure
在/usr/local/nginx下执行下面的命令
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
注意:上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录
5.安装命令
cd /var
mkdir temp
cd temp
mkdir nginx
cd ~/nginx-1.12.2
make
make install
6.启动nginx
cd /usr/local/sbin
./nginx
CD1B8639-29E3-4282-B593-EF3C04ED201B.png
看到此画面则代表nginx创建成功!
7.配置server
进入到/usr/local/nginx/conf
目录下,修改nginx.conf,将此server添加到里面
server {
listen 80;
server_name ip地址;
#charset koi8-r;
#access_log logs/host.access.log main;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
root /usr/image(图片存放文件夹);
}
}
例如我的服务器,将图片存放到image文件夹之后,访问服务器地址和文件名称即可查看到图片
http://xxx.xxx.xx.xxx:8080/girl.jpeg
到这里图片访问搭建完成;
8.FTP的搭建(文件上传工具)
8.1安装 VSFTPD
yum install -y vsftpd
8.2 启动 VSFTPD
service vsftpd start
启动后,可以看到系统已经监听了 21 端口:
netstat -nltp | grep 21
此时,访问 ftp://xxx.xxx.x.xxx 可浏览机器上的 /var/ftp目录了。
9、配置 FTP 权限
vsftpd 的配置目录为 /etc/vsftpd,包含下列的配置文件:
vsftpd.conf 为主要配置文件
ftpusers 配置禁止访问 FTP 服务器的用户列表
user_list 配置用户访问控制
9.1 阻止匿名访问和切换根目录
匿名访问和切换根目录都会给服务器带来安全风险,我们把这两个功能关闭。
编辑 /etc/vsftpd/vsftpd.conf,找到下面两处配置并修改:
# 禁用匿名用户 12 YES 改为NO
anonymous_enable=NO
# 禁止切换根目录 101 行 删除#
chroot_local_user=YES
编辑完成后保存配置,重新启动 FTP 服务
service vsftpd restart
9.2 创建 FTP 用户
创建一个用户hrabbit
useradd hrabbit
为用户 ftpuser 设置密码
echo "hrabbit0310" | passwd hrabbit --stdin
9.3 限制该用户仅能通过 FTP 访问
限制用户hrabbit
只能通过 FTP 访问服务器,而不能直接登录服务器:
usermod -s /sbin/nologin hrabbit
9.4 创建主目录
为用户hrabbit
创建主目录并约定:
在/usr/image
中创建相关的目录
mkdir -p /usr/image
9.5 设置访问权限
chmod 777 -R /usr/image
9.6 为用户设置主目录
usermod -d /usr/image hrabbit
10、配置 FTP 权限
在网页上访问服务器
C16AAA14-EBBA-46E5-89D3-77A1EE543451.png
输入你添加的用户和密码,进入到ftp目录:
C8A0AFCA-A978-44E8-92C4-7B4CD2C86112.png
到这一步图片服务器已经搭建完成!
个人博客:http://www.hrabbit.xin
码云:https://gitee.com/hrabbit/events