更换apache到nginx的操作过程全记录
作者:Nginx 来源:CHINAZ 发布时间:2008-07-30 18:05:00
客户有一个跑了3年多的组装pc服务器, 1.5G内存,p4 2.8G cpu,apache2.28+mod_php+mysql。95%的页面是静态页,每天大约有各类http请求500-1000万个(包括html,js,css,jpg,gif,php等) 启用了gzip压缩,大部分时间负载在1.0以下,但是偶尔会暴涨,导致死机,严重情况一天down机N次。一直没找到原因,可能是服务器不行了。 正好想测试一下nginx + php-fastcgi 性能,也许能行。 说干就干,看了一些nginx文档,开始实施了。过程如下:
安装php最新版,直接用自带的fastcgi模式:
./configure --prefix=/usr/local/php526cgi --with-mysql=/usr/local/mysql --with-zlib=/usr/local/src/zlib --with-gd --with-freetype-dir=/usr/local/src/freetype --with-jpeg-dir=/usr/local/src/jpeg/lib --enable-gd-native-ttf --with-png-dir=/usr/local/src/libpng --enable-exif --enable-ftp --with-curl --enable-mbstring=all --enable-force-cgi-redirect --enable-zip --enable-zend-multibyte --enable-fastcgi
make
make install
由于已经是有php环境了,zlib等组件早已安装好。我只需要--enable-fastcgi就ok了。 php搞定!
mysql不动它,继续用。
执行php-fastcgi:
我们可以利用Lighttpd的spawn-fcgi来控制cgi进程的运行。获得spawn-fcgi的方法如下:
wget http://www.lighttpd.net/download/lighttpd-1.4.18.tar.bz2 #获取Lighttpd的源码包
tar -xvjf lighttpd-1.4.18.tar.bz2
cd lighttpd-1.4.18
./configure --prefix=/usr/local/lighttpd
make
cp src/spawn-fcgi /usr/local/nginx/bin/spawn-fcgi #取出spawn-fcgi的程序
下面我们就可以使用 spawn-fcgi 来控制php-cgi的FastCGI进程了
/usr/local/nginx/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 32 -u nobody -g nobody -f /usr/local/php526cgi/bin/php-cgi
好了,搞定。继续。
安装nginx:
./configure --user=nobody --group=nobody --prefix=/usr/local/nginx --with-http_stub_status_module
make
make install
strip /usr/local/nginx/sbin/nginx 可以压缩执行文件,节约内存
制作nginx启动脚本:
vi /usr/local/nginx/bin/mynginx
#!/bin/bash
case $1 in
start)
/usr/local/nginx/sbin/nginx
;;
stop)
killall -9 nginx
;;
test)
/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
;;
restart)
ps auxww | grep nginx | grep master | awk '{print $2}' | xargs kill -HUP
;;
show)
ps -aux|grep nginx
;;
esac
用法一看就知道了。
设置nginx的配置文件,这个网上一大把,不重复了。有需要的可以上 http://nginx.myhbcms.cn/ 找找
将apache的httpd.conf里面的虚拟主机配置转到nginx里去,由于有几十个虚拟主机,这个花了我好几个小时的时间。
额外插曲:由于使用了apache的mod_vhosts虚拟主机模块,nginx没找到对应的功能模块,不得以,只好继续在8081端口开着apache,用nginx的proxy来反向代理。举例:
server {
listen 80;
server_name *.hbcms.com *.myhbcms.cn;
location / {
proxy_pass http://127.0.0.1:8081/; // 这是apache运行的端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
大致过程就是这样了,希望对你有所帮助。 至于这个服务器性能会如何,运行一段时间才知道。理论上来说nginx应该会比apache资源占用上小很多。
猜你喜欢
- 一、误导性或重复性关键词1、误导性关键词在页面中使用与该网页毫不相干的误导性关键词来吸引查询该主题的访问者访问网站。这种做法严重影响了搜索引
- V5mall震撼出击 剑指C2C多用户商城经过半年多的深入研发和多次封闭内测,最受广大网商欢迎的电子商务系统提供商——v5shop在虎年伊始
- 如果能熟悉并灵活应用FTP的内部命令的话,那可真是事半功倍。FTP的命令行格式为:ftp -v -d -i -n -g [主机名] ,其中-
- 这篇主要讲解网选取关键字的步骤。网站或网页关键字的确定看似是一件不是很系统的工作,但如果要确实有竞争力的关键字,想通过关键字为网站带来流量,
- Exchange Server 2007的管理员们可以使用命令行这种简单的方式来定制邮件配额警告以及报告传递电子邮件的尝试结果的通知的邮件。
- 大家好,我是淘侠客,今天给大家带来的是我本人原创的通过百度i贴吧轻松带来流量的教程,首先大家知道现在想从百度贴吧带来流量是很困难的一件事了,
- 很多朋友在用IIS6架网站的时候遇到不少问题,而这些问题有些在过去的IIS5里面就遇到过,有些是新出来的,做了很多次试验,结合以前的排错经验
- 4、化解登录服务器响应慢的麻烦为了让各位员工及时、方便地获取单位的各种信息,单位往往会将重要信息全部放到服务器中,让所有员工去共享访问。可是
- 摘要:Windows2000Server安装成功后,一般会启动一个默认的Web站点,为整个网络提供Internet服务。在中小型局域网中,服
- 一开始,微软提出将推送技术(Direct Push technology)作为Exchange Server 2003 SP2中的一部分。推
- Google AdWords账户可以制作25个广告系列,而每个系列可以制作100个广告组,但其实每个广告系列中可以添加2000甚至3000的
- 这里我们按照所需要的服务开放响应的端口。在2003系统里,不推荐用TCP/IP筛选里的端口过滤功能,譬如在使用FTP服务器的时候
- 举例:www.123.com要求:news.123.com获得www.123.com的登陆状态 以及评论/DIGG等更多交互信息不管你是否需
- 到年底了,不知不觉过的太快了,最近俺的几个网站受到了机房的严重警告,让我意想不到的是,机房那面竟然说我的网站被挂马了,网站流量总是不断的往外
- 英文站: 高价关键词是一个新手话题英文站和高价关键词是百问不厌的话题,也是很多发布者对Google Adsense收入失望之后的唯一解药。就
- 接触网络也有好几年时间了,每天都在做网站,学习经验知识,今年在站长网上学到的知识最多了,特别是这里有热心的站长朋友们和一些老菜鸟们的经验互相
- 加固外网上的IIS服务器安全关于IIS服务器的安全主要包括六步:1、使用安全配置向导(Security Configuration Wiza
- 一、准备工作1. 下载并安装centos7.2,配置好网络环境,确保centos能上网,可以获取到yum源。centos7.2的下载地址:h
- 很早前,为了自己注册域名方便,做了新网的代理,平常没事也会注册一些域名,或是有想做站、或是只是觉得有一个好域名值得去注册,最近因为工作上的事
- 本文详细的给大家介绍了关于Linux中引号的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:引号我们将把编写脚本的事情暂时搁在一