1.安装常用工具和依赖库
1
| sudo yum install wget axel unzip gcc bison git autoconf nfs-utils pcre-devel zlib-devel bzip2-devel cmake gcc-c++ ncurses-devel perl-Data-Dumper libicu-devel libquadmath-devel python-devel libxml2-devel openssl-devel libcurl-devel libpng-devel freetype-devel freetype-devel gd-devel libmcrypt-devel libxslt-devel libevent-devel systemd-devel make gtk+-devel openssl keyutils patch perl
|
2.获取PHP
1
| wget http://cn2.php.net/distributions/php-7.1.9.tar.gz
|
3.安装PHP
3.1编译安装
在PHP的下载目录,解压后,运行./configure生成Makefile。
1
| ./configure --prefix=/opt/php7 --with-config-file-path=/opt/php7/lib/ --with-fpm-systemd --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-mcrypt --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --with-jpeg-dir --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --enable-ftp
|
编译安装
所有PHP文件将安装到/opt/php7目录下。
#4、配置vsftp
4.1 配置vsftp
4.1.1 安装
以root账户登录服务器,使用yum命令安装:
4.2 配置ftp服务器文件存储路径
新增ftpservice账户:
为ftpservice这个用户添加密码,会提示输入两次密码:
新建文件存储路径cdpt_front,并
1 2 3 4
| $cd /home/ftpservice $mkdir cdpt_front $ chmod -R 777 /home/ftpservice/cdpt_front $chown ftpservice.ftpservice /home/ftpservice/cdpt_front/ 修改用户组
|
然后我们将ftpservice这个用户加入到FTP用户表user_list里,将里面其它初始用户全部删除,加入刚刚我们新建的ftpservice用户
1
| $vim /etc/vsftpd/user_list
|
4.3 配置vsftpd
1 2 3 4 5 6 7 8 9 10 11 12 13
| $vim /etc/vsftpd/vsftpd.conf 以下是要更改的选项 anonymous_enable=NO #禁止匿名访问 ascii_upload_enable #允许使用ascii码上传 ascii_download_enable #允许使用ascii码下载 anon_upload_enable=YES anon_mkdir_write_enable=YES userlist_deny=NO #(这条需手动添加到最后)使用FTP用户表,表里没有的用户需要添加才能登录 local_root=/home/ftpservice#(这条需手动添加到最后) #pei zhi pasv (需手动添加到最后) pasv_enable=yes(开启被动模式,即pasv模式,默认开启) pasv_min_port=50000 pasv_max_port=51000(设定在PASV模式下,建立数据传输所可以使用port范围的下界和上界,0 表示任意。默认值为0。把端口范围设在比较高的一段范围内,比如50000-60000,将有助于安全性的提高)
|
阿里云服务器需要在服务器实例中开通50000-51000的安全规则
ftp主动模式与被动模式介绍:
FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式
PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:我打开了XXXX端口,你过来连接我于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据
PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:我打开了XXXX端口,你过来连接我于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据
概括:
主动模式:服务器向客户端敲门,然后客户端开门
被动模式:客户端向服务器敲门,然后服务器开门
所以,如果你是如果通过代理上网的话,就不能用主动模式,因为服务器敲的是上网代理服务器的门,而不是敲客户端的门,而且有时候,客户端也不是轻易就开门的,因为有防火墙阻挡,除非客户端开放大于1024的高端端口
初次搭建ftp服务时,需要手动在/home/ftpservice/cdpt_front,即文件储存路径中新建public/upload/一系列文件夹
4.3.1开放端口
1 2 3 4 5
| firewall-cmd --zone=public --add-port=50000-51000/tcp –permanent firewall-cmd --zone=public --add-port=20/tcp –permanent firewall-cmd --zone=public --add-port=21/tcp –permanent 重启防火墙 firewall-cmd --reload
|
开通服务
1 2
| /bin/systemctl start vsftpd.service 开启服务 /bin/systemctl status vsftpd.service 查看状态
|
1
| 现在即可用ftp://usenmae:password@ip:端口号
|