Linux安装Nginx1.7.4、php5.5.15和配置
2014-08-15 01:06
459 查看
Nginx是一个轻量级的高性能Web服务器、反向代理服务器、邮件(IMAP/POP3/SMTP)服务器,是Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发,第一个公开版本0.1.0发布于2004年10月4日,以类BSD许可证的形式发布。Nginx选择epoll and kqueue 作为开发模型并使用C编写,在系统资源和CPU使用率上比Apache有着较大的优势。同时安装非常简单,配置文件简洁(支持perl语法),启动容易,几乎可以做到7*24小时不间断运行,即时运行数月也不需要重启,同时支持不间断服务的情况下进行软件版本升级。
此前一直是在用Apache服务器,php作为apache的一个模块运行。同时也在网上见到很多比较过两者的文章和资料,众说纷纭,决定亲自来尝试一下。本文作为尝试的一个记录,供以后备忘和回顾。
本文安装环境:
Linux 2.6.32-358.el6.x86_64 Red Hat Enterprise Linux Server release 6.4 (Santiago)
单核为Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz 的8核处理器,内存为32G
zlib:主要用于支持将http内容进行gzip压缩,用于减少网络传输流量
pcre:用于支持nginx的正则表达式,配置文件中都需要用到正则表达式
openssl:用于nginx支持https请求
这里使用Nginx目前最新版1.7.4,下载地址为http://nginx.org/download/nginx-1.7.4.tar.gz。
安装过程中需要指定之前安装的三个包的路径。
这里指定的pcre目录不是安装好的目录,而是源码目录。另外如果出现如下错误:
启动: /usr/local/nginx/sbin/nginx
停止:kill -QUIT `cat /usr/local/nginx/logs/nginx.pid`
重启:kill -HUP `cat
/usr/local/nginx/logs/nginx.pid` 或者 /usr/local/nginx/sbin/nginx -s reload
修改配置文件:vim /usr/local/nginx/conf/nginx.conf
添加到自启动:echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local
Nginx目前不能直接支持php,必须借助fastcgi来驱动php,一般使用php-fpm来使nginx支持php,而且php-fpm在php5.3之后就集成到php源码中了,不需另外下载安装,比较方便。
之后修改/usr/local/nginx1.7.4/conf/nginx.conf文件,使得nginx支持php:
Nginx是通过php-fpm监听的9000端口来解析PHP请求的。
此前一直是在用Apache服务器,php作为apache的一个模块运行。同时也在网上见到很多比较过两者的文章和资料,众说纷纭,决定亲自来尝试一下。本文作为尝试的一个记录,供以后备忘和回顾。
本文安装环境:
Linux 2.6.32-358.el6.x86_64 Red Hat Enterprise Linux Server release 6.4 (Santiago)
单核为Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz 的8核处理器,内存为32G
一、安装Nginx
Nginx安装需要依赖三个基础包,这是最基础的三个包,更多扩展模块可通过手册安装。zlib:主要用于支持将http内容进行gzip压缩,用于减少网络传输流量
cd /usr/local #选定安装的目录 wget http://zlib.net/zlib-1.2.8.tar.gz tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8 ./configure make make install
pcre:用于支持nginx的正则表达式,配置文件中都需要用到正则表达式
cd /usr/local wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.35.tar.gz tar -zxvf pcre-8.35.tar.gz cd pcre-8.35 ./configure make make install
openssl:用于nginx支持https请求
cd /usr/local wget http://www.openssl.org/source/openssl-1.0.1i.tar.gz tar -zxvf openssl-1.0.1i.tar.gz cd openssl-1.0.1i ./configure make make install
这里使用Nginx目前最新版1.7.4,下载地址为http://nginx.org/download/nginx-1.7.4.tar.gz。
安装过程中需要指定之前安装的三个包的路径。
这里指定的pcre目录不是安装好的目录,而是源码目录。另外如果出现如下错误:
src/core/ngx_regex.h:15:18: fatal error: pcre.h: No such file or directory是因为nginx版本的不同,缺少开发依赖包,需要安装:
apt-get install libpcre3-dev对于指定openssl的路径,如果系统默认安装了,那么使用如下命令找出openssl所在路径:
which openssl然后将这个路径放在nginx的--with-openssl选项后。
tar -zxvf nginx-1.7.4.tar.gz cd nginx-1.7.4 ./configure --prefix=/usr/local/nginx --with-pcre=/usr/local/pcre-8.35 --with-zlib=/usr/local/zlib-1.2.8 --with-openssl=/usr/local/openssl-1.0.1i make make install管理:
启动: /usr/local/nginx/sbin/nginx
停止:kill -QUIT `cat /usr/local/nginx/logs/nginx.pid`
重启:kill -HUP `cat
/usr/local/nginx/logs/nginx.pid` 或者 /usr/local/nginx/sbin/nginx -s reload
修改配置文件:vim /usr/local/nginx/conf/nginx.conf
添加到自启动:echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local
Nginx目前不能直接支持php,必须借助fastcgi来驱动php,一般使用php-fpm来使nginx支持php,而且php-fpm在php5.3之后就集成到php源码中了,不需另外下载安装,比较方便。
二、php安装
首先针对php可能按照需要安装php的依赖包:libxml2、libpng、libjpeg、libcurl、freetype等,这里不再赘述。tar -zxvf php-5.5.11.tar.gz cd php-5.5.11 ./configure --prefix=/usr/local/php5.5 --enable-mbstring --with-mcrypt --with-mhash ................. --enable-fasecgi --enable-fpm make && make installconfigure中省略的是其他的依赖包选项,可以自行取舍,最后的--enable-fpm选项一定要加上,nginx就是通过php-fpm来驱动php的。配置文件在 /usr/local/php5.5/php-fpm.conf进行配置:
<value name="listen_address">127.0.0.1:9000</value>修改为<value name="listen_address">IP:9000</value> <value name="sendmail_path">/usr/sbin/sendmail -t -i</value> <value name="display_errors">1</value> <value name="user">nobody</value> //去注释 <value name="group">nobody</value> //去注释 <value name="allowed_clients">127.0.0.1</value> //允许连接的PC,本机就用127.0.0.1 启动php-fpm# /usr/local/php/sbin/php-fpm start添加到自启动# echo "/usr/local/php/sbin/php-fpm start">>/etc/rc.local
之后修改/usr/local/nginx1.7.4/conf/nginx.conf文件,使得nginx支持php:
location / { root $documentroot; index index.html index.htm index.php; expires 30m; } location ~ /.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $documentroot$fastcgi_script_name; include fastcgi_params; }
Nginx是通过php-fpm监听的9000端口来解析PHP请求的。
相关文章推荐
- Linux安装Nginx1.7.4、php5.5.15和配置
- 手动 2- 安装nginx和php(配置) linux
- lemp安装配置mysql-5.5.15、 nginx-1.0.0、php-5.3.8
- 高性能web服务器(热死你)Resin Linux的安装、配置、部署,性能远超Nginx支持Java、PHP等
- linux+nginx+php+mysql安装及配置
- 挺好用的Linux下安装配置php5.5和nginx
- LNMP(linux+nginx+mysql+php)源码安装及协调配置测试笔记
- Linux安装配置PHP+Nginx
- Linux下安装nginx, php, php-fpm并配置
- Linux+Nginx+Mysql/MariaDB+Perl/PHP/Python安装配置
- Linux下nginx php-fpm安装配置笔记
- linux下nginx+mysql+php安装配置
- Linux下从零开始安装配置Nginx服务器+PHP开发环境
- linux 下 nginx phpcgi 的安装及配置
- 小白linux安装php 5.6+nginx配置(踩坑版)
- Linux下安装php,并配置到nginx【最终版,完美解决问题】
- LNMP安装配置-linux Nginx/Mysql/Php/Phpmyadmin(CentOS vps)
- Linux下nginx,apache,memcached,php,mysql的安装和配置
- Linux下从零开始安装配置Nginx服务器+PHP开发环境
- nginx 0.6.3 安装与配置(linux,nginx,php-cgi)