Nginx 作为反向代理,代理后端的 httpd ,httpd 加载 php 模块解析 php 代码, mysql 提供数据库服务。
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
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
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 ‘’ > /var/www/html/phpinfo.php
通过浏览器访问: 看是否有正确的输出页面。
原文:
相关文章
本站已关闭游客评论,请登录或者注册后再评论吧~