PHP在FastCGI模式下htaccess文件设置php_value等配置无效

最近在部署一个网站时出了一个问题。
在本地运行没有问题的代码,上传到服务器后,打开直接就500了。

经过查找了解到服务器环境配置与本地的不同,本地php采用handle模式,而服务器采用fastcgi模式。
一般情况下应该是没有问题的,但这个网站用了htaccess文件进行php参数设置
继续阅读“PHP在FastCGI模式下htaccess文件设置php_value等配置无效”

apache2.4设置开启gzip

在apache 2.4中开启gzip
修改apache配置文件httpd.conf
将下面两句前的#去掉

LoadModule deflate_module modules/mod_deflate.so
LoadModule filter_module modules/mod_filter.so  

再在http.conf最后加上下面配置

<IfModule deflate_module>
SetOutputFilter DEFLATE
DeflateCompressionLevel 9

#下面是设置那些请求不进行压缩
#SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:html|htm)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary
</IfModule>

重启apache,即开启gzip

网站在访问一段时间后出现访问时页面一直在加载的问题

在windows server2012 r2上搭建apache php mysql环境后,网站在访问一段时间后出现访问时页面一直在加载,被挂起的问题

查看apache日志后发现有 winnt_accept: Asynchronous AcceptEx failed 的记录

解决方法,在http.conf中加入

AcceptFilter http none
AcceptFilter https none

参考 superuser.com/questions/516030/apache-2-4-on-windows-responds-slowly-hangs-when-serving-some-dynamic-pages

CentOS配置apache mod_php php-fpm

先创建网站的根目录,作为测试,把apache默认的目录文件复制过来

 cp -r /var/www /home/www

配置apache
修改安全设置,让selinux允许apache网站目录设置在home里,如果网站目录不放在home里就不用设置了

setsebool -P httpd_enable_homedirs on

-P 参数是把设置写入配置文档,以后将为修改后状态运行
可以使用 getsebool 命令来获取当前设置状态

getsebool httpd_enable_homedirs

可以用 getsebool -a |grep httpd 命令查看更多规则,进行修改

编辑apache配置文件 /etc/httpd/conf/httpd.conf

修改网站根目录
将     DocumentRoot “/var/www/html”
改为  DocumentRoot “/home/www/html”

将     <Directory “/var/www/html”>
改为  <Directory “/home/www/html”>

在往下几行
将     AllowOverride None
改为  AllowOverride All

在文件的最后加上
Include vhost.d/*.conf

用来放VirtualHost的配置文件
保存
继续阅读“CentOS配置apache mod_php php-fpm”

CentOS安装nginx apache mysql php

在CentOS安装nginx、apache、mysql、php,真是一遍遍的折腾啊
趁着搞完这会,写篇笔记备忘

新装的系统  CentOS 6.4 x64 minimal

换一个国内的源,比如163的,这样安装速度会快一些
先安装下载软件wget

yum install wget

备份原始源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

下载163的源

wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

安装第三方源,因为一些软件默认源里没有,比如nginx,mod_fastcgi等,根据系统选择
安装RepoForge源

rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

#i386
rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm

#x86_64
rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

安装epel源

#i386
rpm -Uvh http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm

#x86_64
rpm -Uvh http://mirrors.yun-idc.com/epel/6/x86_64/epel-release-6-8.noarch.rpm

更新缓存和软件到最新版本,包括系统软件

yum makecache
yum -y update

继续阅读“CentOS安装nginx apache mysql php”