(注意:这个目录是后面存储和读取文件的目录)
<!--创建用户并指定主目录--> useradd -d /home/ftpuser -m ftpuser <!--修改密码为:Zxit@2018--> passwd ftpuser Zxit@2018 <!--查看--> cat /etc/passwd
<!--查看是否安装ftp--> rpm -qa |grep vsftpd <!--没有则进行安装--> yum install -y vsftpd
注:1、ftp默认的安装目录为/etc/vsftpd/
2、添加内容:蓝色部分表示修改,黄色部分表添加
<!--进入配置文件编辑模式--> vim /etc/vsftpd/vsftpd.conf <!--配置如下--> # 允许匿名用户访问:公网,为了安全选择关闭 anonymous_enable=NO # 被动模式:公网,为了安全开启被动模式 connect_from_port_20=NO
pasv_enable=YES
pasv_min_port=24322 pasv_max_port=24325 pasv_address=**.**.**.243
# 让vsftpd同时支持IPv4和IPv6
listen_ipv6=YES
pam_service_name=vsftpd
# 只允许名单内用户登录userlist_enable=YES
# 限制用户的ip地址登录
tcp_wrappers=YES
#指定文件存储位置:即上面创建用户时指定的主目录local_root=/home/ftpuser allow_writeable_chroot=YES
#修改端口:默认端口是21 listen_port=24321
<!--启动--> systemctl start vsftpd.service <!--查看状态--> systemctl status vsftpd.service <!--查看进程--> ps -ef | grep ftp
1、用脚本自动安装nginx
<!--新建auto_install_nginx.sh--> <!--写入以下内容--> #!/bin/bash ##2019 03 12 15:45:55 ###设置相关参数 NGINX_URL=http://nginx.org/download/nginx-1.14.2.tar.gz #NGINX_YL=gcc openssl openssl-devel zlib zlib-devel gcc-c++ pcre pcre-devel libgcc NGINX_HOME=/usr/local/nginx ###下载安装包### wget $NGINX_URL ###安装相关依赖包### yum install -y gcc openssl openssl-devel zlib zlib-devel gcc-c++ pcre pcre-devel libgcc ###解压并进入到相关目录### tar -xzf nginx-1.14.2.tar.gz cd nginx-1.14.2/ ###预编译### ./configure --prefix=$NGINX_HOME --with-http_stub_status_module --with-http_ssl_module ###编译### make ###安装### make install ###启动### $NGINX_HOME/sbin/nginx ###关闭防火墙### service firewalld stop ###查看进程### ps -ef | grep nginx ###查看端口 netstat -ntlp | grep 80 <!--执行并安装nginx--> auto_install_nginx.sh
2、启动ftp的nginx
<!--进入nginx配置文件目录--> cd /usr/local/nginx/conf/ <!--复制配置文件--> cp nginx.conf nginx_ftp.conf <!--进入nginx配置文件目录--> cd /usr/local/nginx/conf/ <!--复制配置文件--> cp nginx.conf nginx_ftp.conf <!--进入配置文件编辑模式--> vim nginx_ftp.conf <!--配置如下--> server { listen 24388; server_name 127.0.0.1; location / { root /home/ftpuser; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } <!--启动--> /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx_ftp.conf <!--查看进程--> ps -ef | grep nginx
将刚刚配置的端口24321-24325(ftp)、24388(nginx_ftp)开放出来。注意:如果有firewalld之类的防火墙,也要注意开放端口。为了方便,我这里直接将防火墙关闭了。
1、找一台能连ftp服务器的电脑,连接ftp并上传文件
<!--连接ftp服务器--> ftp open **.**.**.243 24321 ftpuser Zxit@2018 <上传文件> put C:\Users\admin\Desktop\download.plist
2、解决报错:
500 Illegal PORT command.
425 Use PORT or PASV first.
<!--在243的ftp服务器上执行下列命令:ports=24321,当端口为21时,可以省略--> modprobe ip_nat_ftp modprobe ip_conntrack_ftp ports=24321 <!--再次测试上传--> put C:\Users\admin\Desktop\download.plist
发现之前的报错只剩下:425 Use PORT or PASV first.
原文:https://www.cnblogs.com/yybrhr/p/11417607.html