RHEL 7.0 编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14运行环境

  • Post category:Linux

下面是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。

  1. 下载Nginx1.6.0源代码

可以到Nginx官网下载 Nginx1.6.0 源代码,链接为:http://nginx.org/download/nginx-1.6.0.tar.gz

  1. 解压安装包
tar zxvf nginx-1.6.0.tar.gz
cd nginx-1.6.0
  1. 配置

执行以下命令:

./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
  1. 安装
sudo make install
  1. 验证
sudo /usr/local/nginx/sbin/nginx -t

如果输出“configuration file /usr/local/nginx/conf/nginx.conf syntax is ok”的话,则代表nginx的配置文件没有问题。

  1. 测试运行

执行命令启动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。

  1. 下载PHP5.5.14源代码

可以到php官网下载PHP5.5.14源代码,链接为:http://php.net/get/php-5.5.14.tar.gz/from/a/mirror

  1. 解压安装包
tar zxvf php-5.5.14.tar.gz
cd php-5.5.14
  1. 配置

执行以下命令:

./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
  1. 安装
sudo make install
  1. 验证

执行以下命令查看PHP的模块:

sudo /usr/local/php/bin/php -m

如果输出“cgi-fcgi”和“php-fpm”则表示PHP安装成功。

  1. 配置PHP-FPM

在这里,我们将PHP-FPM配置成以nginx用户运行。打开/usr/local/php/etc/php-fpm.d/www.conf文件,找到以下两行:

user = apache
group = apache

将其改为:

user = nginx
group = nginx
  1. 启动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。希望对您有帮助。