下面就来说一下我自己搭建的环境步骤吧。
第一步;先安装gcc和gcc++这里面主要是用于后面安装程序编译需要的依赖包。其它的则为nginx服务需要用到的一些依赖功能。根据自己的需求安装。现在是在root目录里面操作的。
#yum -y install gcc gcc-c++ autoconf automake && yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel
依赖包安装好之后,使用wget命令下载nginx安装包。
如果提示 -bash: wget: command not found错误则需要先安装一下wget命令;能正常下载则忽略此步骤
#yum -y install wget
下载nginx安装包之后进行使用tar命令解压文件,然后cd进入解压好的目录当中
#wget http://nginx.org/download/nginx-1.9.2.tar.gz && tar -zxvf nginx-1.9.2.tar.gz && cd nginx-1.9.2
进行安装信息配置configure,再make install安装
#./configure && make && make install
安装好之后进行查询nginx主进程号。是否有安装好
#ps -ef | grep nginx
启动nginx服务
#/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
重启nginx命令
#/usr/local/nginx/sbin/nginx -s reload
添加一个www用户后面会用到
#useradd -d /home/www -s /sbin/nologin www
#编辑防火墙开放端口;然后保存
#vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 801 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9000:9045 -j ACCEPT
保存好之后,重启防火墙应用
#service iptables restart
如果不存在iptables文件,运行下面一条命令,然后执行服务保存
#iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
保存设置
#service iptables save
至此nginx安装完成。
查看开放的是否有21端口或者801再或者你自己想要开放的端口
#netstat -tln
安装vsftpd查看是否有安装
#rpm -qa | grep vsftpd
安装vsftpd
#yum install vsftpd
启动vsftpd服务
#/etc/init.d/vsftpd start
#设置开机时自动运行
#chkconfig vsftpd on
先备份好一个配置文件,以防后面操作出错,可以还原
#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
配置文件对比;禁止匿名用户登陆
anonymous_enable=NO
最底部添加一些其它的配置信息
chroot_local_user=YES
guest_enable=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
secure_chroot_dir=/var/run/vsftpd
guest_username=www
pasv_min_port=9000 #(设置被动模式的端口范围)
pasv_max_port=9045 #(设置被动模式的端口范围)
添加目录
#mkdir -p /var/run/vsftpd && mkdir -p /etc/vsftpd/vsftpd_user_conf
#建立虚拟用户;(奇数写用户名,偶数写密码,保存退出)
#vi user_ftp.list
abc
123456
asd
123456
先进行安装生成验证文件依赖包
#yum -y install db4*
生成验证文件
#db_load -T -t hash -f /etc/vsftpd/user_ftp.list /etc/vsftpd/user_ftp.db
修改权限
#chmod 600 /etc/vsftpd/user_ftp.db
在/etc/pam.d/vsftpd的文件头部加入以下信息(在后面加入无效)(加入下面内容,其他全部注释。)
修改前先备份 cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
恢复cp /etc/pam.d/vsftpdbak /etc/pam.d/vsftpd
#vi /etc/pam.d/vsftpd
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/user_ftp
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/user_ftp
注意:如果系统为64位,则上面的lib改为lib64,否则配置失败
虚拟用户分配权限
#cd /etc/vsftpd/vsftpd_user_conf/
创建虚拟用户文件
#touch abc asd
修改abc虚拟用户配置
#vi abc
local_root=/www/web/abc/public_html/
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
修改abc虚拟用户配置
#vi asd
local_root=/www/web/asd/public_html/
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
添加21端口,重启防火墙
重启vsftpd
#/etc/init.d/vsftpd restart
如果登陆500;执行以下命令
#setsebool -P ftp_home_dir on && setenforce 0 && service vsftpd restart
如果无法创建目录等操作
#vi /etc/selinux/config
SELINUX=enforcing (把默认的改成disabled)
然后执行
setenforce 0
#在服务端配置被动模式就可以从根源上解决这问题。
pasv_min_port=9000 #(设置被动模式的端口范围)
pasv_max_port=9045 #(设置被动模式的端口范围)
如果nignx重启出错,pid找不到
则运行下面这句话处理
1. 重新运行一下/usr/local/nginx/sbin/nginx
2. 重启nginx:/usr/local/nginx/sbin/nginx -s reload
期待你的留言
已有( 0 )条评论*验证码: