### CentOS 7.2.1511 编译安装Nginx1.10.1+MySQL5.7.14+PHP7.0.11
在本篇文章中,我们将详细介绍如何在CentOS 7.2.1511上通过编译的方式安装Nginx1.10.1、MySQL5.7.14以及PHP7.0.11。此方法适用于希望自定义服务器环境并进行高级配置的用户。下面将逐步介绍整个安装过程,并重点解释防火墙配置、SELinux关闭等准备工作。
#### 一、防火墙配置
**1. 关闭firewall**
由于CentOS 7.x默认使用的是firewall服务,首先需要将其关闭:
```bash
systemctl stop firewalld.service # 停止firewall
systemctl disable firewalld.service # 禁止firewall开机启动
```
**2. 安装iptables防火墙**
接下来安装并配置iptables作为新的防火墙:
```bash
yum install iptables-services # 安装iptables
```
编辑防火墙配置文件 `/etc/sysconfig/iptables` ,添加如下配置:
```bash
vi /etc/sysconfig/iptables
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
:wq!
```
其中 `-p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT` 允许SSH连接;`-p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT` 允许HTTP访问;`-p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT` 允许MySQL端口连接。
最后重启防火墙使配置生效,并设置开机启动:
```bash
systemctl restart iptables.service
systemctl enable iptables.service
```
确认防火墙状态是否正确:
```bash
/usr/libexec/iptables/iptables.init restart
```
#### 二、关闭SELINUX
SELinux可能会干扰某些服务的正常运行,因此推荐暂时关闭它:
```bash
vi /etc/selinux/config
# SELINUX=enforcing # 注释掉
# SELINUXTYPE=targeted # 注释掉
SELINUX=disabled # 增加
:wq!
```
然后使配置立即生效:
```bash
setenforce 0
```
#### 三、系统约定
为了便于管理和维护,建议为安装的软件制定统一的目录结构:
- 软件源代码包存放位置:`/usr/local/src`
- 源码包编译安装位置:`/usr/local/软件名字`
#### 四、下载软件包
接下来下载所需的软件包:
1. **下载nginx**
```bash
wget http://nginx.org/download/nginx-1.10.1.tar.gz
```
2. **下载MySQL**
```bash
wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.33.tar.gz
```
3. **下载php**
```bash
wget http://cn2.php.net/distributions/php-5.6.26.tar.gz
```
4. **下载cmake(MySQL编译工具)**
```bash
wget https://cmake.org/files/v3.6/cmake-3.6.2.tar.gz
```
5. **下载pcre(支持nginx伪静态)**
```bash
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz
```
6. **下载openssl(nginx扩展)**
```bash
wget https://www.openssl.org/source/openssl-1.0.2j.tar.gz
```
7. **下载zlib(nginx扩展)**
```bash
wget http://zlib.net/zlib-1.2.8.tar.gz
```
8. **下载libmcrypt(php扩展)**
```bash
wget http://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
```
9. **下载yasm(php扩展)**
```bash
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
```
10. **下载t1lib(php扩展)**
由于提供的链接不完整,您需要自行搜索下载。
完成以上步骤后,即可开始编译安装Nginx、MySQL和PHP。需要注意的是,在实际编译安装过程中还需要根据具体需求进行配置调整,例如MySQL的安全配置、PHP的扩展启用等。此外,还需确保系统已安装必要的依赖库。