本人从事 linux nginx mysql php 开发多年,联系v:luhuang2003 ,希望接触到更新的web开发软件,开此博客希望能把自己的经验和接触的东西与大家进行共享。
分类: web开发
2013-05-18 17:07:56
nginx 是一个高性能的 http 和 反向代理 服务器,也是一个 imap/pop3/smtp 代理服务器。 nginx 是由 igor sysoev 为俄罗斯访问量第二的 rambler.ru 站点开发的,它已经在该站点运行超过两年半了。 igor 将源代码以类 bsd 许可证的形式发布
1、为了确保能在 nginx 中使用正则表达式进行更灵活的配置,安装之前需要确定系统是否安装有 pcre(perl compatible regular expressions)包。您可以到下载最新的 pcre 源码包,使用下面命令下载编译和安装 pcre 包
nginx的安装需要依赖于gcc、openssl-devel、pcre-devel、zlib-devel
1、先安装 openssl
yum install openssl
2、 下载 pcre 软件 rewrite 配置的使用
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.32.tar.gz
tar -zxvf pcre-8.32.tar.gz
cd pcre-8.32
./configure
make
make install
3、安装 zlib
wget
tar -zxvf zlib-1.2.7.tar.gz
cd zlib-1.2.7
./configure
make
make install
4、下载 nginx 软件
解压配置和安装 进入目录
./configure –prefix=/usr/local/nginx –with-pcre=pcre-8.32的源码目录
make
make install
注: –with-pcre=pcre-8.32 指的是pcre-8.32 的源码路径
我的 nginx.conf 的 server 配置:
server {
listen 80;
server_name www.**.com;
#server_name ~^(?. ).**.com
index index.php;
root /usr/local/nginx/photo;
#charset koi8-r;
rewrite ^(.*)\.html$ /index.php?domain=111 break;
location ~ \.php$ {
#root /usr/local/nginx/huanglu;
#root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param script_filename /scripts$fastcgi_script_name;
fastcgi_param script_filename $document_root$fastcgi_script_name;
include fastcgi_params;
}
rewrite_log on;
error_log logs/rewrite.error.log notice;
location / {
index index.php index.html index.htm;
}
}
5、测试 nginx 配置文件是否正确
/usr/local/nginx/sbin/nginx -t #测试配置文件是否正确
6、启动nginx:
/usr/local/nginx/sbin/nginx
7、测试:
http://域名或ip/index.html 是否正确 如果没有达到rewrite 请查看 日志: logs/rewrite.error.log
出现如下则正确:
/usr/local/nginx/sbin/nginx #启动nginx
如出现以下错误:
/usr/local/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: no such file or directory
解决办法如下:
在redhat 64位机器上, nginx可能读取的pcre文件为/lib64/libpcre.so.1文件.
ln -s /lib64/libpcre.so.0.0.1 /lib64/libpcre.so.1
ln -s /lib/libpcre.so.0.0.1 /lib/libpcre.so.1