taotao商城学习部署图片服务nginx与vsftp

最近在学习淘淘商城,第一次部署nginx和vsftp真的是饶了好多的弯路,现在已经部署了3次了,写个博客整理一下

CentOS7.0下nginx的安装与配置

系统:CentOS 7.0 x64

nginx版本:nginx-1.9.9

安装方式:源码编译安装

1.安装必须环境

nginx的编译需要c++,同时prce(重定向支持)和openssl(https支持)也需要安装。

[root@localhost ~]# yum install gcc-c++
[root@localhost ~]# yum -y install pcre*
[root@localhost ~]# yum -y install openssl*

2.下载nginx-1.9.9.tar.gz,可放在 /usr/local/ 目录下

[root@localhost ~]# cd /usr/local/
[root@localhost local]# wget http://nginx.org/download/nginx-1.9.9.tar.gz

3.解压及编译

[root@localhost local]# tar -zxvf nginx-1.9.9.tar.gz

进入nginx目录

[root@localhost local]# cd nginx-1.9.9

首先,设置安装目录为 /usr/local/nginx,大家也可以自己创建个目录来放,便于以后查找

[root@localhost nginx-1.9.9]# ./configure --prefix=/usr/local/nginx

如果没有报错,开始编译安装

[root@localhost nginx-1.9.9]# make
[root@localhost nginx-1.9.9]# make install

4.防火墙

端口打开80

//开放端口命令
firewall-cmd --zone=public --add-port=80/tcp --permanent
//执行完上面的命令后需要重新加载防火墙
firewall-cmd --reload

也可将防火墙临时关闭

systemctl stop firewalld.service

5.启动nginx服务

进入安装目录 /usr/local/nginx

[root@localhost ~]# cd /usr/local/nginx
[root@localhost sbin]# ./nginx

查看进程,可以看到nginx的master和worker进程

[root@localhost sbin]# ps -ef | grep nginx
root     32150     1  0 13:28 ?        00:00:00 nginx: master process ./nginx
nobody   32151 32150  0 13:28 ?        00:00:00 nginx: worker process
root     32154 28494  0 13:28 pts/1    00:00:00 grep nginx

可以通过访问ip:80测试,看到页面这样的提示就说明安装成功

重启的命令(暂时不需要用上):

[root@root sbin]# ./nginx -s reload

6.设置nginx开机自启

[root@localhost nginx]# cd /
[root@localhost /]# vim /etc/rc.local

CentOS7.0下安装FTP服务的方法

1.运行下面的命令就可以完成vsftpd的安装

[root@localhost /]# yum -y install vsftpd

安装完成再次利用上面的rpm命令检查一下是否完成安装,如果完成安装,那就可以继续。

2.开启vsftpd服务

[root@localhost /]# systemctl start vsftpd.service

3.检查vsftpd服务

[root@localhost /]# service vsftpd status

4.ftp服务使用的是21端口,有时候也使用20端口。21控制连接,20数据连接。一般来说,20,21,22,443,80 这几个端口都应该放行。

firewall-cmd --zone=public --add-port=21/tcp --permanent

命令都是重复的我就不一一打上去了,如果你上面选择了临时关闭防火墙,那么就略过上面的操作

还要安装ftp客户端,否则ftp命令无法使用

rpm -Uvh http://mirror.centos.org/centos/6/os/x86_64/Packages/ftp-0.17-54.el6.x86_64.rpm

补充更新:如果执行上面命令后提示以下错误信息:

代码如下:

libc.so.6 is needed by ftp-0.17-35.el5.i386

则可以通过命令安装依赖包glibc

代码如下:

rpm –Uvh http://mirror.centos.org/centos/6/os/x86_64/Packages/glibc-2.12-1.132.el6.x86_64.rpm

5.添加一个ftp用户

此用户就是用来登录ftp服务器用的。

[root@localhost ~]# useradd ftpuser

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

6.给ftp用户添加密码

[root@localhost ~]# passwd ftpuser

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

6.登录ftp测试一下

[root@localhost /]# ftp localhost

输入刚刚的用户名ftpuser和密码123456,然后输入退出命令bye

7.修改selinux

外网是可以访问上去了,可是发现没法返回目录(使用ftp的主动模式,被动模式还是无法访问),也上传不了,因为selinux作怪了。

修改selinux:

执行以下命令查看状态:

[root@localhost /]#  getsebool -a | grep ftp 

ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_home_dir --> off
执行上面命令,再返回的结果看到两行都是off,代表,没有开启外网的访问

执行如下命令

[root@localhost ~]# setsebool -P allow_ftpd_full_access on
[root@localhost ~]# setsebool -P tftp_home_dir on

8.关闭匿名访问

修改/etc/vsftpd/vsftpd.conf文件:

[root@localhost /]# vim /etc/vsftpd/vsftpd.conf

9.开启被动模式

还是上面的文件,在最后加上

pasv_min_port=30000

pasv_max_port=30999

表示端口范围为30000~30999,这个可以随意改。

10.设置ftp的默认路径

还是上面的文件,在最后加上

local_root=/home/ftpuser/

都加完后wq保存退出

重启ftp服务

[root@localhost /]# systemctl restart vsftpd.service

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

[root@localhost ~]# chkconfig vsftpd on

ftp也部署好了,下面下载FileXilla安装来连接试试吧

弄完之后用nginx访问可能会404,还需要下面操作

①需要在nginx/www下创建一个images文件夹(实际访问的不是这个路径)

mkdir /usr/local/nginx/www/images

②修改/usr/local/nginx/conf/nginx.conf在默认的server里再添加一个location并指定实际路径:

location /images/ {

    root  /home/ftpuser/www/;

    autoindex on;

}

猜你喜欢

转载自blog.csdn.net/qq_38279833/article/details/83933234