VSFTPD+NGINX搭建图片服务器

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 0

nginx="/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/nginx

lockfile=/var/lock/subsys/nginx

make_dirs() {
   # make required directories
   user=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
   if [ -n "$user" ]; then
      if [ -z "`grep $user /etc/passwd`" ]; then
         useradd -M -s /bin/nologin $user
      fi
      options=`$nginx -V 2>&1 | grep 'configure arguments:'`
      for opt in $options; do
          if [ `echo $opt | grep '.*-temp-path'` ]; then
              value=`echo $opt | cut -d "=" -f 2`
              if [ ! -d "$value" ]; then
                  # echo "creating" $value
                  mkdir -p $value && chown -R $user $value
              fi
          fi
       done
    fi
}

start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    make_dirs
    echo -n $"Starting $prog: "
    daemon $nginx -c $NGINX_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}

stop() {
    echo -n $"Stopping $prog: "
    killproc $prog -QUIT
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}

restart() {
    configtest || return $?
    stop
    sleep 1
    start
}

reload() {
    configtest || return $?
    echo -n $"Reloading $prog: "
    killproc $prog -HUP
    retval=$?
    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" in
    start)
        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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值