Nginx安装配备(含PHP支持、设想主机、反向代理负

2019-08-05 21:44栏目:电脑操作

系统及软件版本

Nginx安装简记(含PHP辅助、设想主机、反向代理负载均衡)

FreeBSD 7.3

Nginx ("engine x") 是贰个高质量的 HTTP 和 反向代理 服务器软件,也是三个IMAP/POP3/SMTP 代理服务器。 Nginx 是由 伊戈尔 Sysoev 为俄罗斯访谈量第二的 Rambler.ru 站点开采的,它以往在该站点运转超越三年半了。Igor将源代码以类BSD许可证的款式透露。尽管如故测验版,然则,Nginx 已经因为它的安静、充分的功效集、示例配置文件和低系统财富的损耗而闻明了。
nginx是一个精致而快速的Linux下的web服务器软件。开垦人员伊戈尔 Sysoev 来自俄罗丝,nginx的话实际早就在有的俄罗丝的重型网址上运营多年,相当的安居,近期才在美利坚联邦合众国先导知名起来。
而其余二个销路好的web服务器软件是Lighttpd,因为运维在Youtube的后台,所以知名度非常高。Lighttpd特色在于它能做Flash streaming和对fastcgi的支撑,那样对于Ruby on Rails之类的次序提速比相当多,比起Apache要好过多。
只是 nginx 要比 Lighttpd 更安宁,效能上并不弱于Lighttpd,大约什么都有,何况比Lighttpd对于U宝马7系L rewrite的支持更健全一点。
不论是 nginx 依然 lighttpd, 对于用来提供静态文件都要比Apache好比很多过多,主要便是占用的内部存款和储蓄器小,Apache和那八个Mini的服务器软件来比实际是个巨大啊。

Apache-2.2.14-5[ 1.3.42(Unix)]

为啥选择Nginx
Nginx 是四个高品质的 Web 和反向代理服务器, 它抱有有大多不胜优越的风味:
用作 Web 服务器:比较 Apache,Nginx 使用越来越少的能源,帮助更加的多的面世连接,体现更加高的功效,那点使 Nginx 特别受到设想主机提供商的应接。能够援救高达 50,000 个并发连接数的响应,多谢 Nginx 为大家选拔了 epoll and kqueue 作为支付模型.
作为负载均衡服务器:Nginx 不只能够在内部一向援救 Rails 和 PHP,也得以辅助作为 HTTP代理服务器 对外开始展览服务。Nginx 用 C 编写, 不论是系统能源花费照旧 CPU 使用频率都比 Perlbal 要好的多。
用作邮件代理服务器: Nginx 同一时间也是多个绝对美丽的邮件代理服务器(最早开辟这几个产品的指标之一也是作为邮件代理服务器),Last.fm 描述了中标还要能够的利用经验。
Nginx 安装特其余简便,配置文件 非常简洁(还是可以帮助perl语法),Bugs非常少的服务器: Nginx 运转极度轻松,並且差不离能够成功7*24不间断运营,固然运维数个月也无需重新启航。你还是可以够在 不间断服务的场所下展开软件版本的晋级。

PHP-5.2.12

    Nginx,据悉高质量和平稳比Apache还牛,并发连接管理技能强,低系统财富消耗。最近已有250多万web站点在行使(据
################################################################
系统境遇:LacrosseHEL5 [ 2.6.18-8.el5xen ]

MySQL-5.0.90

软件条件:
    nginx-0.7.17
    lighttpd-1.4.20.tar.gz
    pcre-6.6-1.1
    pcre-devel-6.6-1.1
    php-5.1.6-5.el5

Freebsd通过port安装nginx

    参谋下载地址:
        (最新牢固版为0.6.32)
       
##########################################################################

Nginx ("engine x") 是二个高品质的 HTTP 和反向代理服务器,也是叁个IMAP/POP3/SMTP 代理服务器。 Nginx 是由 伊戈尔 Sysoev 为俄罗丝访谈量第二的 Rambler.ru 站点开垦的,它已经在该站点运转超过七年半了。伊戈尔将源代码以类BSD许可证的方式公布。

一、安装扶助软件
    1、安装lighttpd以提取spawn-fcgi (如果站点不满含php页面,能够不设置spaw-fcgi、PHP)
shell> tar zxvf lighttpd-1.4.20.tar.gz
shell> cd lighttpd-1.4.20/
shell> ./configure && make
shell> cp -p src/spawn-fcgi /usr/sbin/spawn-fcgi
    2、安装pcre和php(以下软件)
        可使用RHEL5自带的rpm包安装,过程略。
二、安装nginx
shell> tar zxvf nginx-0.7.17.tar.gz
shell> cd nginx-0.7.17/
shell> ./configure --prefix=/opt/nginx --with-http_stub_status_module --with-http_ssl_module
shell> make && make install
shell> ln -sf /opt/nginx/sbin/nginx /usr/sbin/
三、nginx运营调整
    1、检查铺排文件有万般无奈法错误
shell> nginx -t
    2、运营(不带任何参数直接运转就可以)
shell> nginx
    3、重新加载nginx配置
shell> killall -s HUP nginx    #//或者 killall -1 nginx
    4、管理完当前伏乞后脱离nginx
shell> killall -s QUIT nginx    #//或者 killall -3 nginx
四、nginx配置用例
    1、常规配置
shell> vi /opt/nginx/conf/nginx.conf
worker_processes 1;    #//职业进程数
events {
    use epoll;    #//扩张该事件进步I/O质量
    work_connections 4096;
}
http {
    include mime.types;
    default_types application/octet-stream;
    sendfile on;
    tcp_nodelay on
    keepalive_timeout 60;
    server {
        listen 80;    #//设置监听端口,注意不要和Apache等任何Web程序争辩
        server_name ;    #//内定使用的主机名
        charset utf-8;    #//内定站点文件的暗中同意编码
        location / {
            root html;    #//设置网址根目录
            index index.html index.html;
        }
        error_page 500 502 503 504 /50x.html
        location = /50x.html {
            root html;
        }
    }
}

Nginx 超过 Apache 的高质量和安居,使得国内应用 Nginx 作为 Web 服务器的网址也尤为多,个中囊括天涯论坛博客、搜狐播客、微博新闻等门户网址频道,六间房、56.com等录制分享网址,Discuz!官方论坛、水木社区 等有名论坛,豆瓣、YUPOO相册、海内SNS、迅雷在线等新兴Web 2.0网址。

    2、增加状态监察和控制
shell> vi /opt/nginx/conf/nginx.conf    #//扩展以下内容
location ~ ^/NginxStatus/ {
    stub_status on;
    access_log off;
}
shell> killall -1 nginx
    #//使用浏览器访问 就能够看到景况总计页面。(多个数字分别代表:总共管理连接数、成功开创的拉手次数、总共管理的央求数)

明天就就来学习在freebsd7.0中安装及布局nginx,这里只是把apache换到nginx,其余php等都不改变:

    3、通过法斯特CGI格局援助PHP语言
      1)运行法斯特CGI服务(用php-cgi抓实在管理php页面包车型地铁主次,用spawn-fcgi是福利同期展开四个php-cgi进程——“-C”选项决定子进度数)
shell>/usr/sbin/spawn-fcgi -a 127.0.0.1 -p 9000 -f /usr/bin/php-cgi -C 10
      2)修改/opt/nginx/conf/nginx.conf配置文件,增加以下内容:
location ~ .php$ {
    root html;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}
      3)重新加载配置
shell> killall -1 nginx
    4、虚拟主机设置
      修改nginx.conf文件,增添多个server {……}配置就能够,每一种虚构主机的参数能够独自计划。
http {
    server {
        listen          80;
        server_name     ;
        access_log      logs/vhost1.access.log main;
        location / {
            index index.html;
            root /var/www/vhost1;    #//首个虚构主机的网页根目录
        }
    }
    server {
        listen          80;
        server_name     ;
        access_log      logs/vhost2.access.log main;
        location / {
            index index.html;
            root /var/www/vhost2;    #//第一个虚构主机的网页根目录
        }
    }
}

一、安装 nginx-0.7.65

    5、基于反向代理的负载均衡
      修改nginx.conf文件,扩展upstream配置,钦命相应服务器群的IP和权重,并调动server段中的网页根目录配置。使访谈nginx服务器的HTTP央求分散到Web群集中的服务器来拍卖。
http {
    upstream my_web_cluster {
        server 192.168.2.11:8000 weight=3;
        server 192.168.2.12:8000 weight=3;
        server 192.168.2.13:8000 weight=3;
        server 192.168.2.14:8000 weight=3;
        server 192.168.2.15:8000 weight=3;
    }
    server {
        listen 80;
        server_name ;
        location / {
            proxy_pass ;
            proxy_set_header x-real-IP $remote_addr;
        }
        #//注:其余的location配置段(如关于.php文件的)需注释掉,不然恐怕影响该类文件的重定向。
    }
}

[root@bsd01 ~]#cd /usr/ports
[root@bsd01 ports]#make search key=^nginx

Port:   nginx-0.7.65

Path:   /usr/ports/www/nginx

Info:   Robust and small WWW server

Maint:  osa@FreeBSD.org

B-deps: pcre-8.00

R-deps: pcre-8.00

WWW:    http://sysoev.ru/nginx/

Port:   nginx-devel-0.8.34

Path:   /usr/ports/www/nginx-devel

Info:   Robust and small WWW server

Maint:  osa@FreeBSD.org

B-deps: pcre-8.00

R-deps: pcre-8.00

WWW:    http://sysoev.ru/nginx/


freebsd上有2个,贰个0.7.65(这里询问展现nginx-0.7.65)是牢固版,0.8.34是风靡的开拓版,所以这里安装0.7.65。

参谋网站:
   
   

[root@bsd01 ports]#cd www/nginx
[root@bsd01 nginx]#make install clean

跟着出来“make config”的菜系,采用供给的机件就可以:

Options for nginx 0.6.33
─────────────────────────────────────
[ ] DEBUG Enable nginx debugging
[ ] GOOGLE_PERFTOOLS Enable google perftools module
[X] HTTP_MODULE Enable HTTP module
[X] HTTP_ADDITION_MODULE Enable http_addition module
[X] HTTP_DAV_MODULE Enable http_webdav module
[X] HTTP_FLV_MODULE Enable http_flv module
[X] HTTP_PERL_MODULE Enable http_perl module
[X] HTTP_REALIP_MODULE Enable http_realip module
[X] HTTP_REWRITE_MODULE Enable http_rewrite module
[X] HTTP_SSL_MODULE Enable http_ssl module
[X] HTTP_STATUS_MODULE Enable http_stub_status module
[X] HTTP_SUB_MODULE Enable http_sub module
[ ] MAIL_MODULE Enable IMAP4/POP3/SMTP proxy module
[ ] MAIL_IMAP_MODULE Enable IMAP4 proxy module
[ ] MAIL_POP3_MODULE Enable POP3 proxy module
[ ] MAIL_SMTP_MODULE Enable SMTP proxy module
[ ] MAIL_SSL_MODULE Enable mail_ssl module
[X] WWW Enable html sample files

tab到OK,伊始安装。

设置完后,配置目录位于/usr/local/etc/nginx内,这几个是freebsd的准绳了,闭着重睛都掌握。主配置文件正是nginx.conf。

是因为后边早就设置了php这一个,这里就无须安装了,只要把php配置到nginx上就足以了。为了测量试验,小编也把apache先停了,以防冲突。

nginx如今还无法一向帮助php,必须先借助于fastcgi来驱动php。今后fastcgi较好的法门有2种,三个是spawn-fcgi,别的贰个正是php-fpm,一般的话恐怕php-fpm更加强硬一点,不过spawn-fcgi也可能有一定数额的人在运用,所以就看本人习贯了。所以作者2个都做了三回。

二、使用spawn-fcgi支持php

▼首先要求安装lighttpd,以赢得spawn-cgi

[root@bsd01 ~]#cd /usr/ports/www/lighttpd
[root@bsd01 lighttpd]#make install clean

▼编辑nginx.con文件:

[root@bsd01 ~]#vi /usr/local/etc/nginx/nginx.conf
user nobody;
user www;
location / {
root /usr/local/www/nginx;
index index.html index.htm;
}

location / {
root /data1/www;
index index.html index.htm index.php;
}

#location ~ .php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}

location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data1/www$fastcgi_script_name;
include fastcgi_params;
}

#location ~ /.ht {
# deny all;
#}

location ~ /.ht {
deny all;
}

▼现在用spawn-fcgi启动php-cgi进程:

[root@bsd01 lighttpd]#spawn-fcgi -a 127.0.0.1 -p 9000 -u www -C 3 -f /usr/local/bin/php-cgi
Kspawn-fcgi.c.206: child spawned successfully: PID: 25354

“-C 3”正是开发银行3个php-cgi进度吧,不过好像实际会多1,2个。

[root@bsd01 lighttpd]#ps -aux | grep php-cgi
www 25354 24.6 2.5 30956 12924 ?? Ss 3:33AM 0:00.41 /usr/local/bin/php-cgi
www 25355 0.0 2.5 30956 12964 ?? S 3:33AM 0:00.00 /usr/local/bin/php-cgi

www 25356 0.0 2.5 30956 12964 ?? S 3:33AM 0:00.00 /usr/local/bin/php-cgi
www 25357 0.0 2.5 30956 12964 ?? S 3:33AM 0:00.00 /usr/local/bin/php-cgi

▼然后运转nginx就可以:

[root@bsd01 ~]#nginx
[root@bsd01 ~]#pgrep nginx
R25436
f25435

近日来访谈大家的web页面,表明nginx已经成功布署:

图片 1

图片 2

版权声明:本文由威尼斯人app发布于电脑操作,转载请注明出处:Nginx安装配备(含PHP支持、设想主机、反向代理负