下面是RHEL7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14运行环境的完整攻略。
准备工作
首先,我们需要准备一些工具和依赖项:
- GCC编译器
- PCRE库
- zlib库
- OpenSSL库
- MySQL5.6.19
- PHP5.5.14
可以使用命令在RHEL上安装这些依赖项:
sudo yum install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel mysql mysql-devel php php-devel
安装Nginx
接下来,我们来安装Nginx。
- 下载Nginx1.6.0源代码
可以到Nginx官网下载 Nginx1.6.0 源代码,链接为:http://nginx.org/download/nginx-1.6.0.tar.gz
- 解压安装包
tar zxvf nginx-1.6.0.tar.gz
cd nginx-1.6.0
- 配置
执行以下命令:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
这个命令的参数说明:
- –prefix=/usr/local/nginx:指定Nginx安装在/usr/local/nginx目录下
- –with-http_stub_status_module:增加nginx提供的stub_status模块,用于监控nginx当前状态
-
–with-http_ssl_module:启用HTTPS支持
-
编译
make -j4
- 安装
sudo make install
- 验证
sudo /usr/local/nginx/sbin/nginx -t
如果输出“configuration file /usr/local/nginx/conf/nginx.conf syntax is ok”的话,则代表nginx的配置文件没有问题。
- 测试运行
执行命令启动Nginx
sudo /usr/local/nginx/sbin/nginx
打开浏览器,输入服务器的IP地址或域名,如果出现Welcome to nginx页面,则代表已经安装且成功启动。
其中一个示例命令是在命令行启动Nginx,还可以将其配置为开机启动,并使用systemctl控制Nginx的启停。
安装MySQL
下面我们来安装MySQL。在RHEL7.0中,可以使用命令行安装MySQL:
sudo yum install mysql-server
安装完成后执行以下命令启动MySQL:
sudo systemctl start mysqld.service
执行以下命令来设置MySQL的root密码:
sudo mysql_secure_installation
安装PHP
下面我们来安装PHP。
- 下载PHP5.5.14源代码
可以到php官网下载PHP5.5.14源代码,链接为:http://php.net/get/php-5.5.14.tar.gz/from/a/mirror
- 解压安装包
tar zxvf php-5.5.14.tar.gz
cd php-5.5.14
- 配置
执行以下命令:
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-fpm-user=nginx --with-fpm-group=nginx --enable-fpm --enable-opcache --enable-sockets --enable-mbstring
这个命令的参数说明:
- –prefix=/usr/local/php:指定PHP安装在/usr/local/php目录下
- –with-config-file-path=/usr/local/php/etc:指定PHP的配置文件放在/usr/local/php/etc目录下
- –with-mysql=mysqlnd:启用MySQL扩展
- –with-mysqli=mysqlnd:启用MySQLi扩展
- –with-pdo-mysql=mysqlnd:启用PDO MySQL扩展
- –with-fpm-user=nginx:PHP-FPM运行的用户是nginx
- –with-fpm-group=nginx:PHP-FPM运行的用户组是nginx
- –enable-fpm:启用PHP-FPM
- –enable-opcache:启用OpCache缓存
- –enable-sockets:启用Socket支持
-
–enable-mbstring:启用多字节字符串支持
-
编译
make -j4
- 安装
sudo make install
- 验证
执行以下命令查看PHP的模块:
sudo /usr/local/php/bin/php -m
如果输出“cgi-fcgi”和“php-fpm”则表示PHP安装成功。
- 配置PHP-FPM
在这里,我们将PHP-FPM配置成以nginx用户运行。打开/usr/local/php/etc/php-fpm.d/www.conf文件,找到以下两行:
user = apache
group = apache
将其改为:
user = nginx
group = nginx
- 启动PHP-FPM
执行以下命令启动PHP-FPM:
sudo /usr/local/php/sbin/php-fpm
配置Nginx
安装和配置完Nginx、MySQL和PHP之后,我们需要让Nginx能够支持PHP。以下是一个Nginx配置文件示例:
worker_processes 2;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}
以上示例的含义和作用:
- worker_processes: 设置Nginx的进程数
- events中的worker_connections: 设置每个Nginx worker进程能够同时处理的最大连接数
- http中的include mime.types和default_type: 设置Nginx能够识别的文件类型以及默认文件类型
- server中的listen: 指定监听的端口
- server中的server_name: 指定服务的名称
- server中的root: 指定服务的根目录
- server中的index: 指定默认文件名
- location /: 指定处理根目录的规则
- location ~ .php$: 指定处理PHP文件的规则
- fastcgi_pass: 指定FastCGI协议的后端服务地址和端口
- fastcgi_index: 指定某个目录下没有指定文件名时使用的默认文件名
- fastcgi_param: 设置FastCGI参数
- include fastcgi_params: 引入FastCGI参数配置文件
总结
这里提供了RHEL7.0上编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14的完整攻略,包括安装相关依赖项、下载源码、配置编译、安装启动,并且提供了两个示例,分别是启动Nginx和启动PHP-FPM。希望对您有帮助。