网站首页 > 技术教程 正文
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-12 MySQL 复制与负载均衡(mysql负载均衡原理)
- 2024-10-12 「干货」总结最新的官方稳定版nginx\mongo\mysql快速安装部署
- 2024-10-12 使用 Nginx 作为 MySQL 的 TCP 负载均衡器
- 2024-09-25 利用linux 负载均衡nginx stream模块反向代理mysql数据库
- 2024-09-25 云计算--Docker典型命令Docker run部署nginx\mysql\redis
- 2024-09-25 MySQL与Redis数据库连接池介绍(图示+源码+代码演示)
- 2024-09-25 tornado + django + nginx + mysql搭建网站源码分享
- 2024-09-25 Centos 6.X Nginx Mysql PHP(即LNMP) 安装与部署(非源码编译)
- 2024-09-25 从零开始学网站开发——2.搭建Linux+Nginx+MySQL+PHP环境
- 2024-09-25 跟着腾讯T4学架构:微服务+MySQL+Nginx+Redis+容器化+虚拟机
你 发表评论:
欢迎- 最近发表
-
- Win10 TH2正式版官方ESD映像转换ISO镜像方法详解
- 使用iso镜像升级到Windows 10的步骤
- macOS Ventura 13.2 (22D49) Boot ISO 原版可引导镜像
- 安利一个用ISO镜像文件制作引导U盘的的小工具RUFUS
- CentOS 7使用ISO镜像配置本地yum源
- 用于x86平台的安卓9.0 ISO镜像发布下载:通吃I/A/N、完全免费
- AlmaLinux 9.6发布:升级工具、初步支持IBM Power虚拟化技术
- Rufus写入工具简洁介绍与教程(写入模式)
- 新硬件也能安装使用了,Edge版Linux Mint 21.3镜像发布
- 开源工程师:Ubuntu应该抛弃32位ISO镜像
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)