当前位置: 代码迷 >> 综合 >> VSFTPD+NGINX搭建图片服务器
  详细解决方案

VSFTPD+NGINX搭建图片服务器

热度:40   发布时间:2024-01-12 06:56:23.0

VSFTPD的安装个配置

1.先yum相应文件

[root@bogon~]#yum-yinstallvsftpd

2.添加一个ftp用户

此用户就是用来登录 ftp 服务器用的。
这样一个用户建完,可以用这个登录,记得用普通登录不要用匿名了。登录后默认的路径为 /home/ftpuser.

[root@bogon~]#useradd ftpuser
[root@bogon~]#passwd ftpuser
密码过去简单也没事,忽略提示,retry输入后就ok了。

3.开启21防火墙

[root@bogon~]#vim/etc/sysconfig/iptables
**在行上面有 22-jACCEPT 下面另起一行输入跟那行差不多的,只是把 22 换成 21,然后: wq 保存。
**
还要运行下,重启 iptables
[root@bogon~]#serviceiptablesrestar

4.开启外网的访问

[root@bogon ~]# setsebool -P allow_ftpd_full_access on
[root@bogon ~]# setsebool -P ftp_home_dir on

5.关闭匿名访问

修改/etc/vsftpd/vsftpd.conf 文件:
在这里插入图片描述

6.开启被动模式

默认是开启的,但是要指定一个端口范围,打开 vsftpd.conf 文件,在后面加上
pasv_min_port=30000
pasv_max_port=30999
表示端口范围为 30000~30999,这个可以随意改。改完重启一下 vsftpd 由于指定这段端口范围,iptables 也要相应的开启这个范围,所以像上面那样打开 iptables 文件。
也是在 21 上下面另起一行,更那行差不多,只是把 21 改为 30000:30999,然后:wq 保存,重 启下 iptables。这样就搞定了。

7.设置开机启动 vsftpd ftp 服务

[root@bogon~]#chkconfigvsftpdon

-----到此VSFTPD就好了-------

-----下面开始NGINX安装和配置-------

安装NGINX

1.下载组件

编译依赖 gcc 环境
yum install gcc-c++ -y
nginx 的 http 模块使用 pcre 来解析正则表达式
yum install -y pcre pcre-devel
nginx 使用 zlib 对 http 包的内容进行 gzip
yum install -y zlib zlib-devel
nginx 不仅支持 http 协议,还支持 https(即在 ssl 协议上传输 http),所以需要在 linux 安装 openssl 库.
yum install -y openssl openssl-devel

2.解压安装包并编译

解压
tar -zxvf nginx-1.8.0.tar.gz
进入解压后文件夹
cd nginx-1.8.0
编译
指定安装目录(prefix=“安装目录”)
./configure --prefix=/usr/local/nginx
make && make install
如果出现leaving … 请先忽略(不是安装出错了,别担心)

3.启动nginx

cd /usr/local/nginx/sbin/
./nginx
查看启动状态
ps aux|grep nginx
在这里插入图片描述

4.访问nginx

http:ip
在这里插入图片描述

5.停止nginx
方式 1

快速停止:
cd/usr/local/nginx/sbin
./nginx -s stop
此方式相当于先查出 nginx 进程 id 再使用 kill 命令强制杀掉进程。

方式 2

完整停止(建议使用):
cd/usr/local/nginx/sbin
./nginx-squit
此方式停止步骤是待 nginx 进程处理任务完毕进行停止。

6.重启nginx

方式 1
先停止再启动(建议使用): 对 nginx 进行重启相当于先停止 nginx 再启动 nginx,即先执行停止命令再执行启动命令。 如下:
./nginx-squit ./nginx
方式 2
重新加载配置文件: 当 nginx 的配置文件 nginx.conf 修改后,要想让配置生效需要重启 nginx,使用-s reload 不用先停止 nginx 再启动 nginx 即可将配置信息在 nginx 中生效,如下:
./nginx-sreload

7.关闭nginx,配置开机自启动脚本

vim /etc/init.d/nginx(下面是输入内容)
内部文件有两处需要修改(已标记)

#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig:   - 85 15
# description:  NGINX is an HTTP(S) server, HTTP(S) reverse \
#               proxy and IMAP/POP3 proxy server
# processname: nginx
# config:      /etc/nginx/nginx.conf
# config:      /etc/sysconfig/nginx
# pidfile:     /var/run/nginx.pid# Source function library.
. /etc/rc.d/init.d/functions# Source networking configuration.
. /etc/sysconfig/network# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0nginx="/usr/local/nginx/sbin/nginx"                                    #nginx启动文件所有的位置,需要自己修改
prog=$(basename $nginx)NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"                     #nginx.conf 所在的路径  需要需要自己修改[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginxlockfile=/var/lock/subsys/nginxmake_dirs() {# make required directoriesuser=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`if [ -n "$user" ]; thenif [ -z "`grep $user /etc/passwd`" ]; thenuseradd -M -s /bin/nologin $userfioptions=`$nginx -V 2>&1 | grep 'configure arguments:'`for opt in $options; doif [ `echo $opt | grep '.*-temp-path'` ]; thenvalue=`echo $opt | cut -d "=" -f 2`if [ ! -d "$value" ]; then# echo "creating" $valuemkdir -p $value && chown -R $user $valuefifidonefi
}start() {[ -x $nginx ] || exit 5[ -f $NGINX_CONF_FILE ] || exit 6make_dirsecho -n $"Starting $prog: "daemon $nginx -c $NGINX_CONF_FILEretval=$?echo[ $retval -eq 0 ] && touch $lockfilereturn $retval
}stop() {echo -n $"Stopping $prog: "killproc $prog -QUITretval=$?echo[ $retval -eq 0 ] && rm -f $lockfilereturn $retval
}restart() {configtest || return $?stopsleep 1start
}reload() {configtest || return $?echo -n $"Reloading $prog: "killproc $prog -HUPretval=$?echo
}force_reload() {restart
}configtest() {$nginx -t -c $NGINX_CONF_FILE
}rh_status() {status $prog
}rh_status_q() {rh_status >/dev/null 2>&1
}case "$1" instart)rh_status_q && exit 0$1;;stop)rh_status_q || exit 0$1;;restart|configtest)$1;;reload)rh_status_q || exit 7$1;;force-reload)force_reload;;status)rh_status;;condrestart|try-restart)rh_status_q || exit 0;;*)echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"exit 2
esac

给该文件添加权限
chmod a+x /etc/init.d/nginx (a+x 所有用户可以执行)
启动和停止nginx
/etc/init.d/nginx start /etc/init.d/nginx stop
将该文件加入chkconfig管理
chkconfig --add /etc/init.d/nginx
此时可以用服务的方式启动nginx
service nginx start 启动
service nginx stop 停止
service nginx restart 重启
最后设置开机自动启动
chkconfig nginx on

8.配置nginx.conf() (最后一步了 =.=||)

打开配置文件
vim /usr/local/nginx/conf/nginx.conf
1. 添加user
在这里插入图片描述
修改root目录
该目录是获取到所有请求并交给ftpuser处理(因为location后面为 / )
在这里插入图片描述

到此就配置完了,我们可以把图片放入/home/ftpuser/下,这样就可以获取到图片。

自勉+1