网站首页 > 精选教程 正文
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 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
猜你喜欢
- 2024-10-04 私有云搭建ubuntu+php7.2+nginx+mysql+nextcloud
- 2024-10-04 【网络安全】关于PHP Study nginx解析高危漏洞的预警通报
- 2024-10-04 linux中docker配置nginx+php+mysql+thinkphp完整案例
- 2024-10-04 php为什么要用nginx做代理 为什么用php开发网站
- 2024-10-04 nginx限制php程序“跨站”访问 nginx限制只能域名访问
- 2024-10-04 nginx和php-fpm通信,使用unix socket还是TCP
- 2024-10-04 使用docker-compose安装php+nginx+memcached
- 2024-10-04 nginx无法解析PHP以及网站路径问题
- 2024-10-04 Nginx提升:Nginx+PHP+FastCGI加速模式
- 2024-10-04 记一次项目迁移升级 nginx 与php分离部署
你 发表评论:
欢迎- 最近发表
-
- 我的世界光影MOD下载(我的世界光影mod下载安装)
- 我的世界1.7/1.8VoxelMap小地图MOD下载
- 我的世界1.7.10多世界 整合包(我的世界1.7.10forge整合包)
- 我的世界1.8最好用的修改器下载(我的世界1.8最好用的修改器下载安装)
- 我的世界更多弯曲动作MOD下载(我的世界更多弯曲动作mod下载手机版)
- 我的世界龙珠MOD下载(我的世界龙珠模组整合包下载)
- 我的世界1.7.10以太2 下载(我的世界以太2mod1.12.2)
- 我的世界虚拟人生MOD下载分享(我的世界虚拟人生下载安装)
- 我的世界无正版账号的简单联机方法(非网易版,仅适用于局域网)
- “我的语言极限,即是我的世界的极限。” ——《On Java》书籍推荐
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)