nginxphp编译
A. 如何在linux下使Nginx和Apache共存,并同时支持php
1、mysql,参考linux下源码安装mysql
2、php,参考linux下源码安装nginx + php笔录
编译参数:./configure --prefix=/usr/local/php --with-gd --enable-gd-native-ttf --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-mysql=/usr/local/mysql --enable-fastcgi --enable-fpm --with-mysqli=/usr/local/mysql/bin/mysql_config
3、nginx,参考linux下源码安装nginx + php笔录
4、apache,
编译参数:./cigure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=most
查看以前的编译选项(如果以前安装过的话):cat /usr/local/apache2/build/config.nice
http.conf添加以下两行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
虚拟主机设置:
<VirtualHost 192.168.42.129>
ServerAdmin [email protected]
DocumentRoot /var/www/other-test
ServerName other-test.com
ErrorLog logs/www.other-test.com-error_log
CustomLog logs/www.other-test.com-access_log common
<Directory "/var/www/other-test">
Options Indexes FollowSymlinks MultiViews
AllowOverride None
DirectoryIndex index.html index.php
Order allow,deny
Allow from All
</Directory>
</VirtualHost>
5、重新编译、安装php是能够在apache上运行,编译参数:./configure --prefix=/usr/local/php --with-gd --enable-gd-native-ttf --with-freetype-dir --with-jpeg-dir --with-png-dir --with-mysql=/usr/local/mysql --with-zlib --enable-fastcgi --enable-fpm --with-apxs2=/usr/local/apache2/bin/apxs --with-mysqli=/usr/local/mysql/bin/mysql_config
cp php.ini-dist /usr/local/php/lib/php.ini
重启apache,如果发现正斗错误“cannot restore segment prot after reloc: Permission denied”解决方案举判磨:
1. chcon -t /usr/local/apache2/moles/libphp5.so
2. #vi /etc/sysconfig/selinux file 或者用 #gedit /etc/冲唯sysconfig/selinux file 修改SELINUX=disabled 重启
B. 如何架设Nginx+Php Web服务器
由于每个过程较繁琐,所以这里说说具体步骤,每个步骤的具体内容可以网络搜索。
安装步骤
一、 编译安装PHP5.2.9所需的支持库
二、编译安装MySQL 5.1.34扩展库
三、编译安装PHP(FastCGI模式)
四、修改php-fpm配置文件
五、创建www用户组及www用户
六、编译安装Nginx
七、创建fcgi.conf文件
八、编辑Nginx配置文件
九、配置开机自动启动Nginx + PHP
十、优化Linux内核参数
C. 求大神指导Centos7 源码编译安装Nginx+PHP 配置动静分离
这个是我的服务的实际 将配置Nginx实现动静分离,对php页面的请求转发给LAMP处理,而静态页面交给Nginx,以实现动静分离。客户请求静态数据给Nginx,Nginx直接应答客户端,当请求动态数据到Nginx时,Nginx让客户端去找LAMP,通过代理的方式,LAMP就和客户端连接了。分别配置动态分离和静态分离
(1)架设并调试后端LAMP架构,指定的域名,IP地址为xxxx,创建动态页面test.php。
(2)配置Nginx(xxxx)处理动态页面请求,并把域名改为 chaodiquan.com 在server{};段中加入以下代码,检测语法后,重启Nginx
(3)客户端输入xxxx/test.php 成功后动态分离就实现了,接下来再配置静态分离
(4)配置Nginx处理静态页面请求,在server{};中加入以下代码,检测语法后,重启Nginx
location ~ .*.(gif|jpg|jpeg|bmp|swf)$ { #这段代码意思是任意网址以这5种格式为结尾就到Nginx根目录下的html文件夹寻找资源
root html;
expires 1d; #缓存一天}
(5)在nginx的html目录中,放入图片aa.jpg,然后在apache的动态测试页test.php中添加
<html>
<body>
<img src="aaaa/aa.jpg">
</body>
</html>
(6)客户端输入xxxx/test.php测试,由于test.php是动态页面,因此客户端会找到LAMP架构中的Apache,然后调取图片aa.jpg是静态数据,所以从Nginx提取,最后反馈给客户端。这个是