client >>> nginx:80 > httpd:8080 > php > mysql
以下操作环境为 CentOS release 6.5 (Final) kernel:2.6.32-573.22.1.el6.x86_64
1、Nginx
Version : nginx-1.10.2
Path : /usr/local/nginx-1.10.2
1.1、安装
从官网下载源码包并上传至做事器。实行以下命令安装依赖并进行编译安装:
yum install pcre pcre-devel openssl openssl-devel
useradd -M -s /sbin/nologin nginx
tar xf nginx-1.10.2.tar.gz
cd nginx-1.10.2
./configure --prefix=/usr/local/nginx-1.10.2 --user=nginx --group=nginx --with-http_stub_status_module
make
make install
1.2、配置文件
配置文件路径:/usr/local/nginx-1.10.2/conf/nginx.conf
将要求转发给后真个httpd,在http代码块内增加以下内容:
upstream HTTPD {
server 127.0.0.1:8080;
}
server {
listen 80;
server_name www.z-dig.com;
location / {
proxy_pass http://HTTPD/;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
2、Httpd
2.1、安装
利用yum办法进行安装:yum -y install httpd httpd-devel
2.2、配置文件
配置文件目录:/etc/httpd/conf
默认站点的根目录为 /var/www/html
默认监听端口为 80
修正 Listen , ServerName , DocumentRoot , 等配置项
2.3、支持PHP
由于安装PHP时,会将PHP模块添加到配置文件,以是不用手动添加:自动添加内容如下:
LoadModule php5_module /usr/lib64/httpd/modules/libphp5.so
但默认未对 .php 结尾的源码文件进行解析,须要手动增加PHP类型:
AddType application/x-httpd-php .php
3、PHP
Version : php-5.6.28
Path : /usr/local/php-5.6.28
3.1、安装
安装依赖(须要配置yum的epel源):
yum install libxml2 libxml2-devel libcurl libcurl-devel gd gd-devel libmcrypt libmcrypt-devel net-snmp net-snmp-devel
下载源码包编译安装:
wget http://cn.php.net/distributions/php-5.6.28.tar.bz2
tar xf php-5.6.28.tar.bz2
cd php-5.6.28
./configure --prefix=/usr/local/php-5.6.28 --with-apxs2=/usr/sbin/apxs --enable-mbstring --with-curl --with-mysql --with-openssl --with-gd --with-png-dir --with-jpeg-dir --with-zlib --with-freetype-dir --enable-sockets --with-snmp --enable-ftp --enable-pcntl --with-mhash --with-mcrypt --enable-bcmath --with-gettext --enable-zip --with-pdo-mysql --enable-calendar
make
make install
3.2、配置文件
将源码包中的 php.ini-production 复制到 /usr/local/php-5.6.28/lib/php.ini
配置时区及根据业务须要修正其他配置项。
4、MySQL
Version : MySQL-5.6.34
Path : /usr/local/mysql-5.6.34
Data Path : /usr/local/mysql-5.6.34/data
4.1、安装
从官网下载源码包并上传至做事器。
安装依赖:
yum install gcc gcc-c++ cmake ncurses ncurses-devel
编译安装:
useradd -M -s /sbin/nologin mysql
tar xf mysql-5.6.34.tar.gz
cd mysql-5.6.34
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.34 -DMYSQL_DATADIR=//usr/local/mysql-5.6.34/data -DMYSQL_UNIX_ADDR=/usr/local/mysql-5.6.34/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
make
make instsll
4.2、配置文件
MySQL读取配置文件的顺序为:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql-5.6.34/etc/my.cnf ~/.my.cnf
将 MySQL 程序目录下 support-files 目录中的 my-default.cnf 移动到 /etc/my.cnf 覆盖原有文件,修正配置文件内容:
[client]
port = 3306
socket = /usr/local/mysql-5.6.34/tmp/mysql.sock
[mysqld]
basedir = /usr/local/mysql-5.6.34
datadir = /usr/local/mysql-5.6.34/data
port = 3306
server_id = 1
socket = /usr/local/mysql-5.6.34/tmp/mysql.sock
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
手动创建配置文件中涉及到的目录:
mkdir /usr/local/mysql-5.6.34/data;chown -R mysql:mysql /usr/local/mysql-5.6.34/{data,tmp}
4.3、启动脚本
将 MySQL 程序目录下 support-files 目录中的 mysql.server 移动至 /etc/init.d/mysqld,并授予可实行权限(chmod +x /etc/init.d/mysqld)
4.4、初始化数据库
初始化数据库脚本:/usr/local/mysql-5.6.34/scripts/mysql_install_db
实行命令:
/usr/local/mysql-5.6.34/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
5、启动各做事
启动MySQL:/etc/init.d/mysqld start
启动HTTPD:/etc/init.d/httpd start
启动Nginx:/usr/local/nginx-1.10.2/sbin/nginx
PHP以Httpd模块的形式加载运行
6、测试
Httpd 的站点根目录为 /var/www/html
创建 PHPINFO 测试文件:
echo '<?php phpinfo();?>' > /var/www/html/phpinfo.php
通过浏览器访问:http://ip/phpinfo.php 看是否有精确的输出页面。
原文:http://www.z-dig.com/error/76-1-1.html