在Centos7环境下开发环境打搭建杂集

笔者平时开发使用的是Windows操作系统,服务器用的是阿里云服务器.一台较低配置的云服务器已经足够日常的研发需要.因为当时购买选用的是Centos7.x操作系统(一般情况都是使用Centos作为服务器),研发所需的一些环境也会随着条件和需要不断增加.本篇文章会根据需要不断增加环境搭建的过程.

Nginx 服务器

Nginx 介绍

Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件代理服务器.由于它自身占用内存少,并发能力强的特点在同类型的网页服务器中有这不俗的表现.深受广大用户的喜爱.

Nginx 安装

  • 在指定的目录下创建yum源配置文件.
1
vim /etc/yum.repos.d/nginx.repo
  • 插入以下一行代码,在vim环境下切换编辑模式
1
2
3
4
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
  • 更新系统资源并安装
1
yum update && yum -y nginx install

Nginx 启动

  • 以下关于nginx常用的几个命令:
1
2
3
4
5
6
7
8
9
10
11
12
#启动
systemctl start nginx.service
#关闭
systemctl stop nginx.service
#重载
systemctl reload nginx.service
#重启
systemctl restart nginx.service
#状态
systemctl status nginx.service
# 配置文件
vim /etc/nginx/nginx.conf
  • 安装完nginx之后不要着急着把它启动起来,一帮情况是需要通过防火墙开放nginx的端口,默认是80.
1
2
3
4
5
6
#第一种方案,重启之后失效
iptables -I INPUT 5 -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
service iptables save
#第二种方案,直接写在iptables文件中,需要注意顺序
vim /etc/sysconfig/iptables
-A INPUT 5 -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

开放防火墙的80端口之后,可以通过以上命令启动nginx.而且nginx在默认的情况下是有一个站点的,所以启动之后是可以直接访问的.简单的检查下nginx服务器是否正在运行,

1
ps aux | grep nginx

  • 添加开机启动
    1
    systemctl enable nginx.service

PHP7

PHP7 介绍

PHP7使用新的 Zend Engine 3.0 提高应用程序性能两倍,比PHP5.6 低了 50% 的内存消耗. 它可以服务于更多的并发用户,无需任何额外的硬件.此外,由于它摒弃低版本的一些过时的API而无法完全向下兼容.

PHP7 安装

  • Centos下默认的PHP版本比较低,一般情况下在安装之前先卸载已有的版本.
1
yum remove php

但是这样是并完全卸载掉PHP,以下命令是查看与php相关的所有软件.

1
rpm -qa | grep php

卸载前先查看下软件之前的相互依赖.没有依赖项的软件优先卸载.

1
rpm -e php70w-common-7.0.19-1.w7.x86_64
  • 下载并安装指定版本的PHP7
1
2
3
4
5
6
7
# 下载
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
# 安装
yum install php70w-7.0.19-1.w7.x86_64 php70w-cli-7.0.19-1.w7.x86_64 php70w-common-7.0.19-1.w7.x86_64 php70w-gd-7.0.19-1.w7.x86_64 php70w-ldap-7.0.19-1.w7.x86_64 php70w-mbstring-7.0.19-1.w7.x86_64 php70w-mcrypt-7.0.19-1.w7.x86_64 php70w-mysql-7.0.19-1.w7.x86_64 php70w-pdo-7.0.19-1.w7.x86_64
# 卸载
rpm -qa | grep webstatic
rpm -e 上面搜索到的包即可
  • 安装php-fpm
1
yum install php70w-fpm

PHP7 启动

  • 以下是PHP启动的常见命令
1
2
3
4
5
6
7
8
9
10
# 启动
systemctl start php-fpm
# 关闭
systemctl stop php-fpm
# 重启
systemctl restart php-fpm
# 状态
systemctl status php-fpm
# 配置文件
vim /etc/php.ini

安装完PHP之后就可以通过以上命令启动.查看PHP是否已经正在运行,

1
ps aux | grep php-fpm

添加开机启动

1
systemctl enable php-fpm

FTP 服务器

FTP 介绍

一般而言,直接连接到服务器上是一个便捷而且安全的做法.搭建FTP服务器主要是为了服务其他人,他们不要动那么多命令照样可以在服务器上指定的路径上完成一些任务.比如上传搭建服务器CDN源站后给相关人员上传资源,他们只关心将资源上传到指定的路径之后就可以访问,而不用通过一大堆的命令去完成.

FTP 安装

  • 查看是否有安装,如果没有就安装.
1
2
3
4
5
6
# 检查
rpm -qa | grep vsftpd
# 安装
yum -y install vsftpd
# 开机启动
systemctl enable vsftpd.service

FTP 配置

  • 修改配置文件vsftpd.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 访问限制
anonymous_enable=NO
local_enable=YES
# 设置路径
chroot_list_enable=YES
# 设置宿主账号列表
chroot_list_file=/etc/vsftpd/chroot_list
# 设置PAM认证文件名
pam_service_name=vsftpd
# 开启虚拟账号
guest.enable=YES
# 设置宿主用户
guest.username=username
# 设置存放虚拟账号的文件夹路径
user_config_dir=/etc/vsftpd/vuser_conf
# 端口监听,默认是21
listen_port=21
  • 创建允许访问的宿主账号文件,填写已存在的宿主账号并保存
1
vim /etc/vsftpd/chroot_list
  • 创建虚拟账号和密码,奇数行是账号,偶数行是密码,并生成认证文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 创建虚拟账号信息并保存为vuser_passwd.txt
vim /etc/vsftpd/vuser_passwd.txt
# 生成认证文件vuser_passwd.db
dbload -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
# 编辑认证文件,加入ftp认证并保存
vim /etc/pam.d/vsftpd
# 查找系统版本号
getconf LONG_BIT
#系统为32位:
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
# 系统为64位:
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
  • 创建虚拟账号文件信息
1
2
3
4
5
6
7
8
9
10
11
12
13
# 创建虚拟账号文件
vim /etc/vsftpd/vuser_conf/username
# 权限限制
# 虚拟用户根目录,根据实际情况修改 该目录必须要有读写权限 chmod -R 777 目录
local_root=/var/www/html
# 可写
write_enable=YES
# 掩码
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

以上代码注意每行末尾的空格,否则会出现认证成功但却无法登陆的窘境.

  • 开放防火墙端口,默认是21.设置启动服务器
1
2
3
# 设置防护墙,防护墙添加访问限制
-A INPUT -m state --state NEW -s xxx.xxx.xxx.xxx -m tcp -p tcp --dport 21 -j ACCEPT
systemctl restart vsftpd.service

FTP 日志

这步骤很重要,开启FTP上传下载日志.可以监控访问者的所有行为.

1
2
3
4
5
6
xferlog_enable=YES
xferlog_file=/var/log/vsftpd/xferlog
xferlog_std_format=YES
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd/vsftd.log

SSH 服务器

SSH 介绍

SSH 常见问题

参考资料

如何在centos7环境下安装vsftpd

文章目录
  1. 1. Nginx 服务器
    1. 1.1. Nginx 介绍
    2. 1.2. Nginx 安装
    3. 1.3. Nginx 启动
  2. 2. PHP7
    1. 2.1. PHP7 介绍
    2. 2.2. PHP7 安装
    3. 2.3. PHP7 启动
  3. 3. FTP 服务器
    1. 3.1. FTP 介绍
    2. 3.2. FTP 安装
    3. 3.3. FTP 配置
    4. 3.4. FTP 日志
  4. 4. SSH 服务器
    1. 4.1. SSH 介绍
    2. 4.2. SSH 常见问题
  5. 5. 参考资料