CentOS7.x编译安装Nginx1.10.3+MySQL5.7.16+PHP5.25.35.45.55.67.07.1多版本全能环境
本文将详细介绍在CentOS7.x下编译安装Nginx1.10.3+MySQL5.7.16+PHP5.25.35.45.55.67.07.1多版本全能环境的完整攻略。
环境准备
本次安装需要准备以下环境:
- CentOS7.x服务器
- Nginx1.10.3源码包
- MySQL5.7.16二进制安装包
- PHP5.25.35.45.55.67.07.1源码包
- gcc编译器
- make工具
- zlib-devel
- openssl-devel
- pcre-devel
安装过程
1. 安装MySQL5.7.16
下载MySQL5.7.16二进制安装包,进入安装目录执行以下命令:
# 解压安装包
tar -zxvf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz
# 创建MySQL用户和组
groupadd mysql
useradd -g mysql mysql
# 拷贝文件到安装目录
cp -R mysql-5.7.16-linux-glibc2.5-x86_64 /usr/local/
cd /usr/local/
mv mysql-5.7.16-linux-glibc2.5-x86_64 mysql
# 修改数据目录和配置文件
cd /usr/local/mysql
mkdir data
chown -R mysql:mysql data
cp support-files/my-default.cnf /etc/my.cnf
# 初始化数据库
bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# 启动MySQL服务
bin/mysqld_safe --user=mysql &
2. 编译安装Nginx1.10.3
下载Nginx1.10.3源码包,解压后执行以下命令:
# 安装依赖
yum install -y gcc make zlib-devel openssl-devel pcre-devel
# 配置编译选项
./configure --prefix=/opt/nginx --with-http_ssl_module --with-http_stub_status_module
# 编译和安装
make && make install
# 启动Nginx服务
/opt/nginx/sbin/nginx
3. 编译安装PHP5.25.35.45.55.67.07.1
下载PHP5.25.35.45.55.67.07.1源码包,解压后执行以下命令:
# 安装依赖
yum install -y gcc make zlib-devel openssl-devel libxml2-devel bzip2-devel curl-devel libjpeg-devel libpng-devel libmcrypt-devel libtidy-devel
# 配置编译选项
./configure --prefix=/opt/php --with-config-file-path=/opt/php/etc --enable-fpm --enable-mbstring --enable-zip --enable-bcmath --with-zlib --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-bz2 --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-mcrypt --with-tidy
# 编译和安装
make && make install
# 拷贝配置文件
cp php.ini-development /opt/php/etc/php.ini
cp /opt/php/etc/php-fpm.conf.default /opt/php/etc/php-fpm.conf
# 启动php-fpm服务
/opt/php/sbin/php-fpm
4. 配置Nginx和PHP
修改Nginx配置文件/opt/nginx/conf/nginx.conf,添加以下内容:
location / {
root html;
index index.html index.htm index.php;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
重启Nginx服务:
/opt/nginx/sbin/nginx -s reload
5. 验证安装
新建文件/opt/nginx/html/index.php,输入以下内容:
<?php phpinfo(); ?>
在浏览器中输入服务器IP地址,可以看到PHP的信息页面,证明环境安装成功。
示例
示例一:增加PHP7.1支持
下载PHP7.1源码包,解压后执行以下命令:
# 安装依赖
yum install -y gcc make zlib-devel openssl-devel libxml2-devel bzip2-devel curl-devel libjpeg-devel libpng-devel libmcrypt-devel libtidy-devel
# 配置编译选项
./configure --prefix=/opt/php7 --with-config-file-path=/opt/php7/etc --enable-fpm --enable-mbstring --enable-zip --enable-bcmath --with-zlib --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-bz2 --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-mcrypt --with-tidy
# 编译和安装
make && make install
# 拷贝配置文件
cp php.ini-development /opt/php7/etc/php.ini
cp /opt/php7/etc/php-fpm.conf.default /opt/php7/etc/php-fpm.conf
# 启动php-fpm服务
/opt/php7/sbin/php-fpm
修改Nginx配置文件/opt/nginx/conf/nginx.conf,添加以下内容:
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
if ($request_uri ~* /php7/) {
fastcgi_pass 127.0.0.1:9001;
}
include fastcgi_params;
}
重启Nginx服务,并在浏览器中输入IP地址/php7/index.php,可以看到PHP7.1的信息页面。
示例二:增加多站点支持
操作系统中安装php-fpm后,就可以将多个网站的PHP请求分配到不同的socket上,这里添加一个站点,做简单的演示。
修改Nginx配置文件/opt/nginx/conf/nginx.conf,添加以下内容:
server {
listen 80;
server_name www.newsite.com;
location / {
root /var/www/newsite/;
index index.php index.html index.htm;
}
location ~ .+\.php($|/) {
root /var/www/newsite/;
fastcgi_pass unix:/var/run/php-fpm-newsite.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
access_log /var/log/nginx/access_newsite.log;
error_log /var/log/nginx/error_newsite.log;
}
重启Nginx服务,并在/var/www/newsite下新建index.php文件,输入以下内容:
<?php
phpinfo();
?>
修改/var/www/newsite目录权限:
chown nginx:nginx /var/www/newsite
重启php-fpm服务:
/opt/php/sbin/php-fpm -c /opt/php/etc/php.ini -y /opt/php/etc/php-fpm.conf -g /var/run/php-fpm.pid -t
访问www.newsite.com,可以看到PHP的信息页面,证明多站点配置成功。
总结
以上就是在CentOS7.x下编译安装Nginx1.10.3+MySQL5.7.16+PHP5.25.35.45.55.67.07.1多版本全能环境的完整攻略。本文中的示例可以帮助读者更好地理解和使用本教程。