nginx服务配置

依赖端口的虚拟主机

  1. [root@lnmp conf]# cat nginx.conf
  1. worker_processes 1;

  2. events {

  3.     worker_connections 1024;

  4. }

  5. http {

  6.     include mime.types;

  7.     default_type
    application/octet-stream;

  8.     sendfile on;

  9.     keepalive_timeout 65;

  10.     server {

  11.         listen 8001;

  12.         server_name www.etiantian.org;

  1.         location / {

  2.             root html/www;

  3.             index index.html index.htm;

  1.         }

  2.     }

  3.     server {

  4.         listen 8002;

  5.         server_name www.etiantian.org;

  1.         location / {

  2.             root html/bbs;

  3.             index index.html index.htm;

  1.         }

  2.     }

  3.    server {

  4.         listen 8003;

  5.         server_name www.etiantian.org;

  1.         location / {

  2.             root html/blog;

  3.             index index.html index.htm;

  1.         }

  2.     }

  3.  

  4. }

 

  1. [root@lnmp conf]#
    /application/nginx/sbin/nginx -t

  2. nginx: the configuration file
    /application/nginx-1.6.3/conf/nginx.conf syntax is ok

  3. nginx: configuration file
    /application/nginx-1.6.3/conf/nginx.conf test is successful

  4. [root@lnmp conf]#
    /application/nginx/sbin/nginx -s reload

  5. [root@lnmp conf]# netstat
    -lntup|grep nginx

  6. tcp 0 0 0.0.0.0:8001 0.0.0.0:* LISTEN
    3853/nginx

  7. tcp 0 0 0.0.0.0:8002 0.0.0.0:* LISTEN
    3853/nginx

  8. tcp 0 0 0.0.0.0:8003 0.0.0.0:* LISTEN
    3853/nginx

  9. [root@lnmp conf]# curl http://www.etiantian.org:8001

  10. www.etiantian.org

  11. [root@lnmp conf]# curl http://www.etiantian.org:8002

  12. bbs.etiantian.org

  13. [root@lnmp conf]# curl http://www.etiantian.org:8003

  14. blog.etiantian.org

四.1一.叁 改动密码文件权限

[[email protected]
extra]#  chmod 400 /application/nginx/conf/htpasswd    

[[email protected]
extra]#  chown -R www.www /application/nginx/conf/htpasswd

[[email protected]
extra]# cat /application/nginx/conf/htpasswd

oldboy:e3OfMiJThE0Qg

5、支持epoll模型。使得nginx可以帮忙高产出。apache使用select模型。

四.八.四 日志的切割

切割日志格局

0壹:利用脚本达成日志切割

回顾脚本

[[email protected]
logs]# cat /server/scripts/log_cut.sh

#!/bin/bash

 

mv /application/nginx/logs/access_www.log 
/application/nginx/logs/access_www_`date +%F`.log

/application/nginx/sbin/nginx -s reload

包含剖断的剧本

[[email protected]
logs]# cat /server/script/cut_nginx_log.sh

# ! /bin/sh

Dateformat=’date +%Y%m%d’

Basedir= “/application/nginx”

Nginxlogdir=”$Basedir/logs”

Logname=”access_www”

[-d $Nginxlogdir ] && cd $Nginxlogdir || exit
1

[-f ${Logname}.log ] || exit 1

/bin/mv ${Logname}.log
${Dateformat}_${Logname}.log

$Basedir/sbin/nginx -s reload

0二.使用系统自带切割软件拓展切割

cat /etc/logrotate.conf

Nginx本人是一款静态(html、js、css、jpg等)的www软件,无法深入分析动态的PHP、JSP、DO。

4.拾.贰 rewrite模块四个作用

  1. 贯彻网址地址音讯跳转

  2. 福寿双全伪静态

3、占用能源少。

四.二.2 autoindex on参数实行

1)修改配置文件

[[email protected]
www]# cat ../../conf/nginx.conf

worker_processes  1;

events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {

        listen       10.0.0.8:80;

        server_name  www.etiantian.org;

        location / {

            root   html/www;

            autoindex on;

        }

        error_page   500 502 503 504 
/50x.html;

        location = /50x.html {

            root   html;

        }

    }

}

二)重启服务

[[email protected]
conf]# /application/nginx/sbin/nginx -t

nginx: the configuration file
/application/nginx-1.10.2/conf/nginx.conf syntax is ok

nginx: configuration file
/application/nginx-1.10.2/conf/nginx.conf test is successful

[[email protected]
conf]# /application/nginx/sbin/nginx -s reload

3)访问测试

 

四、缓存服务。类似squid、varnish、ats。

四.二 首页文件不存在–利用nginx服务搭建文件共享服务器

经过陈设  autoindex on;
参数

选取 autoindex参数,nginx能识别的直接展现,不识其他直接下载

布署完 autoindex on; 参数今后会呈现站点下的公文消息

对此nginx能够解析的能源会深入分析相应的内容

对于nginx不得以深入分析的能源会一贯下载

壹、配置轻便、灵活、轻量。

四.三.三 Nginx配置虚拟主机的步子如下(适合各个虚拟主机类型)

一)扩张二个整机的server标签段到结尾处。注意,要放在http的终结大括号前,约等于将server标签段放入http标签。

2)更改server_name及对应网页的root根目录,假如急需任何参数,能够扩充或修改。

3)创建Seever_name域名对应网页的根目录,并且创立测试文件,假如未有index首页,访问会出现40三指鹿为马。

    即使是apache软件,未有首页文件,私下认可会把站点目录下边包车型大巴消息展示出来

    nginx出40三张冠李戴消除方法:http://oldboy.blog.51cto.com/2561410/1633952

    autoindex
on;#<==当找不到首页文件时,会显示目录结构,这几个效应相似不要用除非有须要。

   
PS:突显的目录结构中,有些音讯点击正是下载,有的点击正是显示,因为扩展名称差异样

        根本在于nginx软件是或不是能够进行辨析

        nginx是或不是解析:

        一.htmljpg认知彰显出内容

        2.不认识不分析便直接下载

四)检査Nginx配置文件语法,平滑重启Nginx服务,急速检査运维结果。

五)在客户端对server_name处配置的域名做host剖判或DNS配置,并检査(ping域名看重返的IP是还是不是科学)。

陆)在Win3贰浏览器中输入地点访问,大概在Linux客户端做hosts解析,用wget或curl接地址访问。

七)在劳动重启或关闭此前先举行一回配置文件检查
/application/ngnix/sbin/nginx
-t

Nginx虚拟主机的法定帮衬网站为:http://Nginx.org/en/docs/http/requestj3rocessing.html

三个server标签段就是3个虚拟主机。

4.5.9 说明;

那般的安顿能够让用户通过IP访问的时候,访问到的网址是www的网址。

二、高并发(静态小文件),静态几万的产出。

第陆章 nginx进级 –虚拟主机配置

完结WWW服务的常用web软件:nginx、apache。

四.九 集团急需化解(location应用)

   1、搭建好壹台nginx的web服务器,配置好内网网卡地址与外网网卡地址

   二、web服务器的网址域名字为www.etiantian.org 站点目录为
html/www

   3、需要内网能够访问
www.etiantian.org/AV 能源

   四、须求外网不得以访问
www.etiantian.org/AV 财富

凭借IP的虚拟主机

  1. [root@lnmp conf]# ip addr add
    192.168.31.135/24 dev eth0

  2. [root@lnmp conf]# ip addr

  3. 1: lo: <LOOPBACK,UP,LOWER_UP>
    mtu 65536 qdisc noqueue state UNKNOWN

  4.     link/loopback 00:00:00:00:00:00 brd
    00:00:00:00:00:00

  5.     inet 127.0.0.1/8 scope host lo

  1.     inet6 ::1/128 scope host

  2.        valid_lft forever
    preferred_lft forever

  3. 2: eth0:
    <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
    state UP qlen 1000

  4.     link/ether 00:0c:29:03:06:08 brd
    ff:ff:ff:ff:ff:ff

  5.     inet 192.168.31.134/24 brd
    192.168.31.255 scope global eth0

  6.     inet 192.168.31.135/24 scope global
    secondary eth0

  7.     inet6 fe80::20c:29ff:fe03:608/64
    scope link

  8.        valid_lft forever
    preferred_lft forever

  9. [root@lnmp conf]# cat nginx.conf

  1. worker_processes 1;

  2. events {

  3.     worker_connections 1024;

  4. }

  5. http {

  6.     include mime.types;

  7.     default_type
    application/octet-stream;

  8.     sendfile on;

  9.     keepalive_timeout 65;

  10.     server {

  11.         listen 192.168.31.134:80;

  1.         server_name www.etiantian.org;
  1.         location / {

  2.             root html/www;

  3.             index index.html index.htm;

  1.         }

  2.     }

  3.     server {

  4.         listen 192.168.31.135:80;

  1.         server_name www.etiantian.org;
  1.         location / {

  2.             root html/bbs;

  3.             index index.html index.htm;

  1.         }

  2.     }

  3. }

  4. [root@lnmp conf]#
    /application/nginx/sbin/nginx -t

  5. nginx: the configuration file
    /application/nginx-1.6.3/conf/nginx.conf syntax is ok

  6. nginx: configuration file
    /application/nginx-1.6.3/conf/nginx.conf test is successful

  7. [root@lnmp conf]#
    /application/nginx/sbin/nginx -s reload

  8. [root@lnmp conf]# curl
    192.168.31.134

  9. www.etiantian.org

  10. [root@lnmp conf]# curl
    192.168.31.135

  11. bbs.etiantian.org

删去加多的IP

  1. [root@lnmp conf]# ip addr del
    192.168.31.135/24 dev eth0

  2. [root@lnmp conf]# ip addr

  3. 1: lo: <LOOPBACK,UP,LOWER_UP>
    mtu 65536 qdisc noqueue state UNKNOWN

  4.     link/loopback 00:00:00:00:00:00 brd
    00:00:00:00:00:00

  5.     inet 127.0.0.1/8 scope host lo

  1.     inet6 ::1/128 scope host

  2.        valid_lft forever
    preferred_lft forever

  3. 2: eth0:
    <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
    state UP qlen 1000

  4.     link/ether 00:0c:29:03:06:08 brd
    ff:ff:ff:ff:ff:ff

  5.     inet 192.168.31.134/24 brd
    192.168.31.255 scope global eth0

  6.     inet6 fe80::20c:29ff:fe03:608/64
    scope link

  7.        valid_lft forever
    preferred_lft forever

     

二.2.2 nginx功能特色

Ø  web网址服务

Ø  反向代理负载均衡(nginx /lvs /haproxy)

Ø  nginx缓存服务(memcache
/redis /mongodb)

nginx.conf

  1. [root@lnmp conf]# cat nginx.conf
  1.  

  2. #user nobody;

  3. worker_processes 1; # 4 –
    拾行main区,nginx大旨成效模块

  4.  

  5. #error_log logs/error.log;

  6. #error_log logs/error.log notice;

  1. #error_log logs/error.log info;
  1.  

  2. #pid logs/nginx.pid;

  3.  

  4.  

  5. events { # 一三 – 一伍 行
    events区,nginx大旨效率模块

  6.     worker_connections 1024;

  7. }

  8.  

  9.  

  10. http { # http区,nginx http核心模块

  1.     include mime.types;

  2.     default_type
    application/octet-stream;

  3.  

  4.     #log_format main ‘$remote_addr –
    $remote_user [$time_local] “$request” ‘

  5.     # ‘$status $body_bytes_sent
    “$http_referer” ‘

  6.     # ‘”$http_user_agent” “$http_x_forwarded_for”‘;

  7.  

  8.     #access_log logs/access.log main;

  1.  

  2.     sendfile on;

  3.     #tcp_nopush on;

  4.  

  5.     #keepalive_timeout 0;

  6.     keepalive_timeout 65;

  7.  

  8.     #gzip on;

  9.  

  10.     server { # server标签

  11.         listen 80; # 端口

  12.         server_name localhost; # 域名

  1.  

  2.         #charset koi8-r;

  3.  

  4.         #access_log
    logs/host.access.log main;

  5.  

  6.         location / { # 依据uri举办跳转

  1.             root html;

  2.             index index.html index.htm;
    # 首页

  3.         }

  4.  

  5.         #error_page 404 /404.html;

  1.  

  2.         # redirect server error pages
    to the static page /50x.html

  1.         #

  2.         error_page 500 502 503 504
    /50x.html;

  3.         location = /50x.html {

  4.             root html;

  5.         }

  6.  

  7.         # proxy the PHP scripts to
    Apache listening on 127.0.0.1:80

  8.         #

  9.         #location ~ \.php$ {

  10.         # proxy_pass http://127.0.0.1;

  11.         #}

  12.  

  13.         # pass the PHP scripts to
    FastCGI server listening on 127.0.0.1:9000

  14.         #

  15.         #location ~ \.php$ {

  16.         # root html;

  17.         # fastcgi_pass
    127.0.0.1:9000;

  18.         # fastcgi_index index.php;

  1.         # fastcgi_param
    SCRIPT_FILENAME /scripts$fastcgi_script_name;

  2.         # include fastcgi_params;

  1.         #}

  2.  

  3.         # deny access to .htaccess
    files, if Apache’s document root

  1.         # concurs with nginx’s one
  1.         #

  2.         #location ~ /\.ht {

  3.         # deny all;

  4.         #}

  5.     }

  6.  

  7.  

  8.     # another virtual host using mix of IP-, name-, and port-based
    configuration

  9.     #

  10.     #server {

  11.     # listen 8000;

  12.     # listen somename:8080;

  13.     # server_name somename alias
    another.alias;

  14.  

  15.     # location / {

  16.     # root html;

  17.     # index index.html index.htm;

  1.     # }

  2.     #}

  3.  

  4.  

  5.     # HTTPS server

  6.     #

  7.     #server {

  8.     # listen 443 ssl;

  9.     # server_name localhost;

  10.  

  11.     # ssl_certificate cert.pem;

  1.     # ssl_certificate_key cert.key;
  1.  

  2.     # ssl_session_cache
    shared:SSL:1m;

  3.     # ssl_session_timeout 5m;

  1.  

  2.     # ssl_ciphers HIGH:!aNULL:!MD5;

  1.     # ssl_prefer_server_ciphers
    on;

  2.  

  3.     # location / {

  4.     # root html;

  5.     # index index.html index.htm;

  1.     # }

  2.     #}

  3.  

  4. }

 

  1. [root@lnmp conf]# egrep -v “#|^$” nginx.conf.default

  2. worker_processes 1;

  3. events {

  4.     worker_connections 1024;

  5. }

  6. http {

  7.     include mime.types;

  8.     default_type
    application/octet-stream;

  9.     sendfile on;

  10.     keepalive_timeout 65;

  11.     server {

  12.         listen 80;

  13.         server_name localhost;

  14.         location / {

  15.             root html;

  16.             index index.html index.htm;

  1.         }

  2.         error_page 500 502 503 504
    /50x.html; #并发对应的http状态码使用50x.html回应

  3.         location = /50x.html {
    #location区块伊始,访问50x.html

  4.             root html;
    #钦定相应的站点目录为html

  5.         }

  6.     }

  7. }

  8. [root@lnmp conf]# egrep -v “#|^$” nginx.conf.default >nginx.conf

③.②.2 配置文件详解

 

陆、nginx能够相配动态PHP服务(fastcgi接口)。

4.9.2 location 语法

location 指令的遵循是依照用户请求的U卡宴I来实践不壹的利用。

locationn使用的语法为

location [=|~|~*|^~] uri {

  ….

}

 

location 语法表明表

location

[=|~|~*|^~]

uri

{….}

指令

匹配标识

匹配的网站地址

匹配URI后要执行的配置段

 

~ 与~* 的区别

u  ~  匹配内容分别轻重缓急写

u  ~* 相配内容不区分的小写

u  !~ 取反

u  ^~ 但三个相当相同的时候存在,优先相配 ^~相配的原委;不做正则表达式的检查 (优先管理)

三、web cache(web缓存),squid(CDN主要接纳squid)。

三.四.四 检查陈设文件语法是或不是科学

[[email protected]
application]# /application/nginx/sbin/nginx -t

nginx: the configuration file
/application/nginx-1.10.2/conf/nginx.conf syntax is ok

nginx: configuration file
/application/nginx-1.10.2/conf/nginx.conf test is successful

四、成效体系对比多(web、cache、proxy),每一效果都不是专门强。

二.壹 软件介绍

若是你听他们说或行使过
Apache软件,那么高效就能纯熟Nginx软件,与 Apache软件邻近, Nginx ( “engme
x”)是1个开源的,援助高品质、高并发的
WWW服务器和代理服务软件。它是由俄罗斯人 IgorSysoev开辟的,最初被选用在勘罗斯的巨型网址www.rambler.ru 上,后来小编将源代码以类BSD许可证的情势开源出来供中外应用。

Nginx因存有高并发(极其是静态财富)占用系统财富少等性情,且作用丰盛而日益流行起来。

在效用应用发面,Nginx不可是1个可以的Web服务软件,还富有反向代理负载均衡作用和缓存服务功效。在反向代理负载均衡功用方面,它相仿于名牌的LVS负载均衡及Haproxy等标准代理软件,不过Nginx陈设起来更为简易、方便;在缓存服务效益方面,它又好像于Squid等正规的缓存服务软件。

Nginx 能够运营在
UNIX、Linux、BSD、Mac 0S X、Solaris,以及 Microsoft Windows
等操作系统中。随着Nginx在国内多数大型网址中的牢固神速运营,近两年它也稳步被进一步多的中型小型型网址所选用。当前风靡的Nginx Web组合被称作LNMP或LEMP(即Linux Nginx MySQL PHP),当中 LNMP
里的 N 取自Nginx (
“engine x” )

Nginx 的官方介绍见 http://nginx.org/en

 

Nginx的利用场馆

二.肆.1 与其余软件的相比

先来探视Apache软件的特色,如下

²  Apache二.二版本特别安静壮大,据官方说,Apache二.四本子品质更加强。

²  Prefork格局撤销了经过创立花费,质量异常高。

²  管理动态业务数据时,因事关到后端的外燃机和数据库,瓶颈不在Apache上。

²  高并发时消耗系统能源相对多一些。

²  基于守旧的select模型,高并发工夫有限。

²  补助增添库,可通过DSO、apxs方法编写翻译安装额外的插件功效,无需重新编写翻译Apache

²  成效多,更安定,更安全,插件也多。

²  集镇份额在慢慢递减

 

再来看看Nginx软件的特点,如下:

n  基于异步网结I/O模 型(epollk kqueue)

n  具有援救高品质,高并发的特点,并发连接可达数万。

n  对小文件(小于1
MB的静态文件)高并发帮衬很好,性能极高

n  不帮忙类似 Apache的DSO方式、扩充库必须编写翻译进主程序(缺点)

n  进程占用系统能源好低。

n  补助Web、反向Proxy、Cache三大主要成效,幷且都很杰出。

n  市镇份额在日趋飞速扩充。

 

最后是Lighttpd的特点,如下:

²  基于异步互联网 I/ O模型,质量、并发都与 Nginx周围。

²  扩展库是 SO方式,比Nginx灵活

²  近期境内的使用率非常低,安全性没有Apache和Nginx好。

²  通过插件(mod_secdownload)可实现公文 U奥迪Q7L地址加密(优点)

²  社区不活跃,集镇份额好低,

 

搭建基于域名的虚拟主机

  1. [root@lnmp conf]# cat nginx.conf
  1. worker_processes 1; #worker进度的数码
  1. events { #事件区块起始

  2.     worker_connections 1024;
    #种种worker进度帮助的最利兹接数

  3. } #事件区块开首

  4. http { #http区块开首

  5.     include mime.types;
    #nginx援救的媒体类型库文件蕴含

  6.     default_type
    application/octet-stream; #默许的传媒类型

  7.     sendfile on; #张开高效传输形式

  1.     keepalive_timeout 65; #连接超时
  1.     server {
    #第三个server区块开首,表示3个独自的虚拟主机站点

  2.         listen 80;
    #提供劳动的端口,暗许80

  3.         server_name
    www.etiantian.org;
    #提供劳务的域名主机名

  4.         location / {
    #率先个location区块开端

  5.             root html/www;
    #站点的根目录,相对于nginx安转目录

  6.             index index.html index.htm;
    #暗中认可的首页文件,多个用空格分开

  7.         } #先是个localtion区块结果

  1.     }

  2.     server {

  3.         listen 80;

  4.         server_name bbs.etiantian.org;

  1.         location / {

  2.             root html/bbs;

  3.             index index.html index.htm;

  1.         }

  2.     }

  3.  

  4. }

 

  1. [root@lnmp conf]# mkdir
    ../html/{www,bbs} -p

  2. [root@lnmp conf]# tree ../html/

  1. ../html/

  2. ├── 50x.html

  3. ├── bbs

  4. ├── index2.html

  5. ├── index.html

  6. └── www

  7. [root@lnmp conf]# echo “www.etiantian.org” >../html/www/index.html

  1. [root@lnmp conf]# echo “bbs.etiantian.org” >../html/bbs/index.html
  1. [root@lnmp conf]# cat
    ../html/{www,bbs}/index.html

  2. www.etiantian.org

  3. bbs.etiantian.org

  4. [root@lnmp conf]#
    /application/nginx/sbin/nginx -t #检查语法

  5. nginx: the configuration file
    /application/nginx-1.6.3/conf/nginx.conf syntax is ok

  6. nginx: configuration file
    /application/nginx-1.6.3/conf/nginx.conf test is successful

  7. [root@lnmp conf]#
    /application/nginx/sbin/nginx -s reload #重启

  8. [root@lnmp conf]# cat /etc/hosts

  1. 127.0.0.1 localhost
    localhost.localdomain localhost4 localhost4.localdomain4

  2. ::1 localhost localhost.localdomain
    localhost6 localhost6.localdomain6

  3.  

  4. 192.168.31.132 server

  5. 192.168.31.133 lamp

  6. 192.168.31.134 lnmp www.etiantian.org
    bbs.etiantian.org

  7. 192.168.31.136 backup

  8.  

  9. [root@lnmp conf]# ping
    www.etiantian.org

  10. PING lnmp (192.168.31.134) 56(84) bytes
    of data.

  11. 64 bytes from lnmp (192.168.31.134):
    icmp_seq=1 ttl=64 time=0.084 ms

  12. 64 bytes from lnmp (192.168.31.134):
    icmp_seq=2 ttl=64 time=0.050 ms

  13. ^Z

  14. [5]+ Stopped ping www.etiantian.org

  1. [root@lnmp conf]# ping
    bbs.etiantian.org

  2. PING lnmp (192.168.31.134) 56(84) bytes
    of data.

  3. 64 bytes from lnmp (192.168.31.134):
    icmp_seq=1 ttl=64 time=0.034 ms

  4. 64 bytes from lnmp (192.168.31.134):
    icmp_seq=2 ttl=64 time=0.050 ms

  5. ^Z

  6. [6]+ Stopped ping bbs.etiantian.org

  1. [root@lnmp conf]# curl
    www.etiantian.org

  2. www.etiantian.org

  3. [root@lnmp conf]# curl
    bbs.etiantian.org

  4. bbs.etiantian.org

由此浏览器访问要求修改windows
hosts文件(C:\Windows\System32\drivers\etc),加入192.168.31.134
www.etiantian.org bbs.etiantian.org。

依赖域名的虚拟主机配置步骤

一、修改配置文件nginx.conf。

2、创制站点目录

叁、检查语法,重新加载nginx。

4、配置hosts,测试。

四.一 【公司供给】须要服从原先nginx服务编写翻译安装进度设置

一、参看已安装服务的安排参数消息

[[email protected]
sbin]# /application/nginx/sbin/nginx -V

nginx version: nginx/1.10.2

built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)

built with OpenSSL 1.0.1e-fips 11 Feb 2013

TLS SNI support enabled

configure arguments:
–prefix=/application/nginx-1.10.2 –user=www –group=www
–with-http_stub_status_module –with-http_ssl_module

   -V 参数能显示软件的详尽详细,安装配备参数

二、遵照铺排参数进行布置

壹、提供静态服务(图片、录像服务),另一个lighttpd。几万产出。

四.4.一 基于域名的虚拟主机

修改配置文件

[[email protected]
~]# cat  /application/nginx/conf/nginx.conf

worker_processes  1;

events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {

        listen       80;

        server_name  www.etiantian.org;

        location / {

            root   html/www;

            index  index.html index.htm;

        }

        error_page   500 502 503 504 
/50x.html;

        location = /50x.html {

            root   html;

        }

    }

    server {

        listen       80;

        server_name  bbs.etiantian.org;

        location / {

            root   html/bbs;

            index  index.html index.htm;

        }

        error_page   500 502 503 504 
/50x.html;

        location = /50x.html {

            root   html;

        }

    }

    server {

        listen       80;

        server_name  blog.etiantian.org;

        location / {

            root   html/blog;

            index  index.html index.htm;

        }

        error_page   500 502 503 504 
/50x.html;

        location = /50x.html {

            root   html;

        }

    }

}

反省安插音讯是还是不是科学

[[email protected]
conf]# /application/nginx/sbin/nginx -t

nginx: the configuration file
/application/nginx-1.10.2/conf/nginx.conf syntax is ok

nginx: configuration file
/application/nginx-1.10.2/conf/nginx.conf test is successful

重启服务

[[email protected]
conf]# /application/nginx/sbin/nginx -s reload

注意:服务未有运营的时候不能够使用平滑重启

创制站点目录

[[email protected]
conf]# for name in www blog bbs ;do  mkdir ../html/$name -p
;done

成立主页文件

[[email protected]
conf]# for name in www blog bbs ;do echo “web01 $name”
>../html/$name/index.html  ;done

自己商议主页内容音讯

[[email protected]
conf]# for name in www blog bbs ;do  cat ../html/$name/index.html
;done

web01 www

web01 blog

web01 bbs

修改主机hosts文件

[[email protected]
~]# vim /etc/hosts

172.16.1.8    web01 www.etiantian.org
blog.etiantian.org bbs.etiantian.org

测试

[[email protected]
~]# curl  www.etiantian.org

web01 www

[[email protected]
~]# curl  blog.etiantian.org

web01 blog

[[email protected]
~]# curl  bbs.etiantian.org

web01 bbs

三、反向代理、负载均衡。日PV3000万以下,都足以直接用nginx做反向代理。(haproxy、F伍、A十)

三.三.伍 nginx软件编写翻译安装后,看不到程序目录(/application)

   表达:编写翻译安装步骤不对(配置 编写翻译编写翻译安装生成/appliation)

安顿站点

新建3个index二.html。

  1. [root@lnmp html]# cat index2.html
  1. <html>

  2. <head><title>Golden,s Nginx
    server blog.</title></head>

  3. <body>

  4. Hi,I am golden.My blog address is

  5. <a href=”http://www.cnblogs.com/yinshoucheng-golden"&gt;http://www.cnblogs.com/yinshoucheng-golden&lt;/a&gt;

  1. </body>

  2. </html>

浏览器访问:http://192.168.31.134/index2.html

图片 1

Nginx http作用模块汇总

ngx_http_core_module:包含一些主导的http参数配置,对应nginx的布署为http区块部分。

ngx_http_access_module:访问调节模块,用来调整网址用户对nginx的拜会。

ngx_http_gzip_module:压缩模块,对nginx重临的数据压缩,属于性能优化模块。

ngx_http_fastcgi_module:fastcgi模块和动态应用相关的模块,举例PHP。

ngx_http_proxy_module:proxy代理模块。

ngx_http_upstream_module:负载均衡模块,能够兑现网址的负载均衡作用及节点的健检。

ngx_http_rewrite_module:UKoleosL地址重写模块。

ngx_http_limit_conn_module:限制用户并发连接数及请求数模块。

ngx_http_limit_req_module:限制Nginx request processing
rate依据定义的key。

ngx_http_log_module:访问日志模块,以内定的格式记录nginx客户走访日志等消息。

ngx_http_anth_basic_module:web认证模块,设置web用户通过账号密码访问nginx。

ngx_http_ssl_module:ssl模块,用于加密的http连接,如https。

ngx_http_stub_status_module:记录nginx基本访问状态新闻等的模块。

四.三.一 虚拟主机概念

所谓虚拟主机,在Web服务里正是一个独自的网址站点,这些站点对应单独的域名(也说不定是ip或端口.具备独立的顺序及财富目录,可以单独地对外提供服务供用户访问。

那么些独自的站点在配备里是由自然格式的竹签段标识的,对于Apache软件来讲,3个虚拟主机的标签段平日被含有在以的此<VirtualHost></VirtualHost>,而Nginx软件则选拔1个server{}标签来标示三个虚拟主机。八个Web服务里能够有多少个虚拟主机标签对,即能够而且扶助两个虚拟主机站点。

壹、静态小文件(1M),扶助高产出,同有毛病候占用的能源十分的少。三千0出现,13个进度,内部存款和储蓄器消耗150M。

nginx服务配置 表达,nginx服务配置

第三章 常用的软件

二、基于端口的虚拟主机。通过端口来区分虚拟主机。应用:公式内部网址,网址后台。

三.三 【常见错误】nginx软件的编译安装常见错误表达

Nginx服务最大的效应:

四.五 【标准化配置】nginx配置文件公司标准化

Nginx在windows、linux、unix都可以。

2.叁 nginx软件的铺面功能使用

业务类型

应用方案

静态业务

若是高并发场景,尽量采用Nginx或Lighttpd,二者首选Nginx

动态业务

理论上采用Nginx和Apache均可,建议选择Nginx,为了避免相同业务的服务软件多样化,增加额外维护成本。动态业务可以由Nginx兼做前端代理,再根据页面元素的类型或目录,转发到后端相应的服务器处理进程。

—首选tomcat

既有静态业务又有动态业务

采用Nginx

利用nginx软件是无法处理动态业务请求,要让nginx结合php软件处理动态业务请求,在加上mysql 即 LNMP架构

三、基于IP的虚拟主机。大致不用。不协理ifconfig外号,配置文件能够。

4.伍.陆 查看配置文件的加载顺序

[[email protected]
logs]# /application/nginx/sbin/nginx -T

参数表明:

-T   : test configuration, dump it and exit

  
测试配置文件,并且加载一回,并出示加载的相继

Nginx特点:

3.四.陆 nginx软件应用进程中深远表达

1. nginx软件语法检查措施:

    nginx -t 

2. nginx软件访问测试进度:

curl -v www.baidu.com

三. nginx软件编译参数查看:

    nginx -V                 <—
查看原有的编写翻译参数消息

Nginx安装

安装PCRE

Pcre全称(Perl Compatible Regular
Expressions),汉语perl包容正则表明式。

  1. [root@lnmp ~]# cat
    /etc/redhat-release

  2. CentOS release 6.6 (Final)

  3. [root@lnmp ~]# uname -r

  4. 2.6.32-504.el6.x86_64

  5. [root@lnmp ~]# uname -m

  6. x86_64

  7. [root@lnmp ~]# rpm -qa pcre
    pcre-devel

  8. pcre-7.8-6.el6.x86_64

  9. [root@lnmp ~]# yum install pcre
    pcre-devel -y

  10. [root@lnmp ~]# rpm -qa pcre
    pcre-devel

  11. pcre-7.8-7.el6.x86_64

  12. pcre-devel-7.8-7.el6.x86_64

安装OpenSSL

  1. [root@lnmp ~]# rpm -qa openssl
    openssl-devel

  2. openssl-1.0.1e-30.el6.x86_64

  3. [root@lnmp ~]# yum install
    openssl-devel -y

  4. [root@lnmp ~]# rpm -qa openssl
    openssl-devel

  5. openssl-devel-1.0.1e-48.el6_8.3.x86_64

  1. openssl-1.0.1e-48.el6_8.3.x86_64

安装nginx

  1. [root@lnmp nginx-1.6.3]# useradd
    nginx -s /sbin/nologin -M

  2. [root@lnmp nginx-1.6.3]# id nginx

  1. uid=503(nginx) gid=503(nginx)
    groups=503(nginx)

  2. [root@lnmp ~]# cd
    /home/oldboy/tools/

  3. [root@lnmp tools]# wget -q
    http://nginx.org/download/nginx-1.6.3.tar.gz

  1. [root@lnmp tools]# ls
    nginx-1.6.3.tar.gz -lk

  2. -rw-r–r–. 1 root root 787 Apr 8 2015
    nginx-1.6.3.tar.gz

  3. [root@lnmp tools]# tar xf
    nginx-1.6.3.tar.gz

  4. [root@lnmp tools]# cd nginx-1.6.3

  1. [root@lnmp nginx-1.6.3]# ll

  2. total 624

  3. drwxr-xr-x. 6 1001 1001 4096 Feb 16
    02:42 auto

  4. -rw-r–r–. 1 1001 1001 236608 Apr 7
    2015 CHANGES

  5. -rw-r–r–. 1 1001 1001 360501 Apr 7
    2015 CHANGES.ru

  6. drwxr-xr-x. 2 1001 1001 4096 Feb 16
    02:42 conf

  7. -rwxr-xr-x. 1 1001 1001 2369 Apr 7 2015
    configure

  8. drwxr-xr-x. 4 1001 1001 4096 Feb 16
    02:42 contrib

  9. drwxr-xr-x. 2 1001 1001 4096 Feb 16
    02:42 html

  10. -rw-r–r–. 1 1001 1001 1397 Apr 7 2015
    LICENSE

  11. drwxr-xr-x. 2 1001 1001 4096 Feb 16
    02:42 man

  12. -rw-r–r–. 1 1001 1001 49 Apr 7 2015
    README

  13. drwxr-xr-x. 8 1001 1001 4096 Feb 16
    02:42 src

  14. [root@lnmp nginx-1.6.3]# tree|wc -l

  1. 404

  2. [root@lnmp nginx-1.6.3]# ./configure
    –prefix=/application/nginx-1.6.3 –user=nginx –group=nginx
    –with-http_stub_status_module

  3. [root@lnmp nginx-1.6.3]# echo $?

  1. 0

  2. [root@lnmp nginx-1.6.3]# make &&
    make install

  3. [root@lnmp nginx-1.6.3]# cd ..

  1. [root@lnmp tools]# ll
    /application/nginx-1.6.3/ -ld

  2. drwxr-xr-x. 6 root root 4096 Feb 16
    02:50 /application/nginx-1.6.3/

  3. [root@lnmp tools]# ln -s
    /application/nginx-1.6.3/ /application/nginx

  4. [root@lnmp tools]# ls -l
    /application/

  5. total 4

  6. lrwxrwxrwx. 1 root root 25 Feb 16 02:53
    nginx -> /application/nginx-1.6.3/

  7. drwxr-xr-x. 6 root root 4096 Feb 16
    02:50 nginx-1.6.3

启动nginx

  1. [root@lnmp tools]#
    /application/nginx/sbin/nginx

  2. [root@lnmp tools]# ps -ef|grep
    nginx|grep -v grep

  3. root 1362 1231 0 01:44 pts/0 00:00:00
    wget -q http://nginx.org/download/nginx-1.6.3.tar.gz

  1. root 1364 1231 0 01:46 pts/0 00:00:00
    wget -q http://nginx.org/download/nginx-1.6.3.tar.gz
  1. root 3853 1 0 02:59 ? 00:00:00 nginx:
    master process /application/nginx/sbin/nginx

  2. nginx 3854 3853 0 02:59 ? 00:00:00
    nginx: worker process

  3. [root@lnmp tools]# ss -lntup|grep
    nginx

  4. tcp LISTEN 0 128 *:80 *:*
    users:((“nginx”,3853,6),(“nginx”,3854,6))

  5. [root@lnmp tools]# curl 127.0.0.1

  1. <!DOCTYPE html>

  2. <html>

  3. <head>

  4. <title>Welcome to
    nginx!</title>

  5. <style>

  6.     body {

  7.         width: 35em;

  8.         margin: 0 auto;

  9.         font-family: Tahoma, Verdana,
    Arial, sans-serif;

  10.     }

  11. </style>

  12. </head>

  13. <body>

  14. <h1>Welcome to nginx!</h1>

  1. <p>If you see this page, the nginx web server is successfully installed and

  2. working. Further configuration is required.</p>

  3.  

  4. <p>For online documentation and
    support please refer to

  5. <a href=”http://nginx.org/"&gt;nginx.org&lt;/a&gt;.&lt;br/&gt;

  1. Commercial support is available at

  2. <a href=”http://nginx.com/"&gt;nginx.com&lt;/a&gt;.&lt;/p&gt;

  1.  

  2. <p><em>Thank you for using nginx.</em></p>

  3. </body>

  4. </html>

浏览器访问

图片 2

  1. [root@lnmp nginx]# ls -l|grep -v
    temp

  2. total 36

  3. drwxr-xr-x. 2 root root 4096 Feb 16
    02:50 conf #配置

  4. drwxr-xr-x. 2 root root 4096 Feb 16
    02:50 html #默许网址目录

  5. drwxr-xr-x. 2 root root 4096 Feb 16
    02:59 logs #错误,访问日志

  6. drwxr-xr-x. 2 root root 4096 Feb 16
    02:50 sbin #运维命令

二.4.三 apache select和nginx epoll工夫相比图

指标

select

epoll

性能

随着连接数的增加性能急剧下降。处理成千上万的并发连接数,性能很差

随着连接数的增加,性能基本上没有下降。处理成千上万连接时性能很好

连接数

连接数有限制,处理的最大连接数不超过1024,如果要处理的连接数超过1024个,则需要修改FD_SETSIZE宏,并重新编译

连接数无限制

内在处理机制

线性轮询

回调callback

开发复杂性

2、负载均衡(反向代理proxy)。

3.5 nginx软件静态页面编写进程

编纂配置文件

[[email protected]
www]# cat ../../conf/nginx.conf

worker_processes  1;

events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {

        listen       80;

        server_name www.zinx.top;

        location / {

            root   html/www;

            index  oldboy.html index.html
index.htm;

        }

        error_page   500 502 503 504 
/50x.html;

        location = /50x.html {

            root   html;

        }

    }

}

编制静态访问页面文件消息

[[email protected]
www]# cat oldboy.html  

<html>

<meta charset=”utf-8″>

<head>

<title>TEST</title>

</head>

<body>

惨绿少年

<table border=1>

<tr> <td>01</td> <td>
</td> </tr>

<tr> <td>02</td> <td>
</td> </tr>

 <tr> <td>03</td> <td>
</td> </tr>

 </table>

<a href=”http://blog.znix.top"&gt;

<img src=”znix.png” />

</a>

</body>

</html>

一、www web服务、邮件服务、邮件代理。

3.叁.二 nginx软件运营过程中相见的主题材料

nginx软件重复运行发生的错误音讯

[[email protected]
nginx-1.10.2]# /application/nginx/sbin/nginx

nginx: [emerg] bind() to 0.0.0.0:80 failed (98:
Address already in use)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98:
Address already in use)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98:
Address already in use)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98:
Address already in use)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98:
Address already in use)

nginx: [emerg] still could not bind()

消除方法:

nginx软件已经运转没有供给反复运行,假若须求再行启航须求截至nginx进度可能用reload格局举办重启

最大的性情:

3.3.6 nginx软件排查难题三部曲表明

       a 在客户端上ping服务器端IP,检查链路是或不是通畅

      b 在客户端上telnet服务器端IP、端口,检查链路做客是还是不是通畅

      c 在客户端上wget检查测试模拟页面访问是不是健康

壹、基于域名的虚拟主机。通过域名来分歧虚拟主机。应用:外部网址。

4.四 【执行】虚拟主机配置

七、利用nginx能够对IP限制速度,可限制连接数。

4.9.4 【测试】测试location的访问

nginx帮忙虚拟主机

4.1一.四 重启服务: 配置修改后要重启服务

[[email protected]
extra]# /application/nginx/sbin/nginx -t

nginx: the configuration file
/application/nginx-1.10.2/conf/nginx.conf syntax is ok

nginx: configuration file
/application/nginx-1.10.2/conf/nginx.conf test is successful

[[email protected]
extra]# /application/nginx/sbin/nginx -s reload

2、提供动态服务,nginx+fastcgi的办法运转PHP、JSP。动态出现500-1500。(apache+php、lighttpd+fastcgi
php)

三.肆 nginx软件使用命令参数

经文流行的web组合lamp(linux apache mysql php)、lnmp(linux nginx mysql
php)。

4.11.5 访问测试

采纳交互式输入密码

[[email protected]
www]# curl www.etiantian.org -uoldboy

Enter host password for user ‘oldboy’:123456

web01 www

运用免交互输入密码

[[email protected]
www]# curl www.etiantian.org -uoldboy:123456

web01 www

40一错误表达: 要求注明,可是从未证实

 

http://www.bkjia.com/Linuxjc/1231347.htmlwww.bkjia.comtruehttp://www.bkjia.com/Linuxjc/1231347.htmlTechArticlenginx服务部署 表达,nginx服务配置 第二章
常用的软件 一.1 常用来提供 静态服务 的软件 Apache : 那是中型小型型 Web
服务的主流, Web 服务器中的老…

4.七.二 状态模块表明

参数

参数说明

Active connections

当前的活动客户端连接数量

accepts          

接受客户端连接的总数

handled          

处理的连接总数

requests         

客户端请求的总数

Reading          

nginx正在读请求头的当前连接数。

Writing          

nginx正在将响应写回客户端的当前连接数。

Waiting          

当前空闲客户端连接数等待一个请求。

三.1 nginx软件的编写翻译安装步骤

一.一 常用来提供静态服务的软件

图片 3 
Apache :那是中型小型型Web服务的主流,Web服务器中的老四弟,

图片 4 
Nginx :大型网址Web服务的主流,曾经Web服务器中的初生牛犊,现已长成。

图片 5 
Nginx 的分支 Tengine (
http://tengine.taobao.org/)目前也在飞速发展•

图片 6 
Lighttpd :那是贰个不溫不火的美丽 Web软件,社区不活跃,静态深入分析功效相当高.在 Nginx
流行前,它是大并发静态业务的首推,国内百度贴吧、豆瓣等居多网址都有Lighttpd奋斗的身彩”  

三.一 nginx 目录结构

[[email protected]
nginx]# ll

total 36

drwxr-xr-x 2 root root 4096 Oct 21 19:34 conf   
#配置文件保留目录

drwxr-xr-x 2 root root 4096 Oct 21 19:34 html   
#站点目录

drwxr-xr-x 2 root root 4096 Oct 21 20:26 logs   
#nginx 服务相关日志文件保留目录(错误日志访问日志)

drwxr-xr-x 2 root root 4096 Oct 21 19:34 sbin   
# 服务命令目录(唯有三个nginx文件)

肆.5.四 重启服务

[[email protected]
conf]# /application/nginx/sbin/nginx -t

nginx: the configuration file
/application/nginx-1.10.2/conf/nginx.conf syntax is ok

nginx: configuration file
/application/nginx-1.10.2/conf/nginx.conf test is successful

3.3.七 【注意】40三状态码出现气象原因

    0一. 劳务阻止客户端访问

    0二.
服务端站点目录中,未有一点点名首页文件音讯   

叁.四.二 nginx 截至方法

[[email protected]
application]# /application/nginx/sbin/nginx -s stop

3.二.一 站点目录与首页文件概念

 

4.五.叁 第多少个里程碑: 修改nginx配置文件使之加载识别虚拟主机配置文件

[[email protected]
conf]# cat  nginx.conf

worker_processes  1;

events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    include extra/*;

}

3.四.一 nginx 运维方法

[[email protected]
application]# /application/nginx/sbin/nginx

一.2 常用来提供动态服务的软件

图片 7 
PHP ( 法斯特CGI
):大中型小型型网址都会动用,动态网页语言PHP程序的剖析容器。它可相称Apache分析动态程序,可是,这里的PHP不是FastCGI守护进度横式,而是mod_php五.so ( module)也可极度Nginx深入分析动态程序,此时的PHP常用法斯特CGI守护过程方式提供劳动。

图片 8 
汤姆cat :中型小型集团动态Web服务主流,互连网Java容器主流(如jsp、do )

图片 9 
Resin :大型动态Web服务主流,网络Java容器主流(如jsp、do )

图片 10 
IIS ( Internet information services
):微软 windows 下的
Web 服务软件(如 asp、aspx )

3.一.二 安装nginx的借助包(pcre-devel openssl-devel)

yum install -y pcre-devel openssl-devel

pcre:包容perl语言正则表达式,perl
compatible regular expressions

      rewirte模块 参数消息(perl格局定义正则表明式)

openssl:ssh—openssh/openssl—https

总计:全体安装重视软件,前面都要丰盛-devel

肆.5.一 第二个里程碑:  创造虚拟主机配置文件存款和储蓄目录

[[email protected]
conf]# pwd

/application/nginx/conf

[[email protected]
conf]# mkdir extra

叁.肆.叁 nginx 重启方法 (平滑重启)

[[email protected]
application]# /application/nginx/sbin/nginx -s reload

第二章 nginx的设置与行使

四.十.5 nginx 的rwite重写集团应用场景

图片 11 
能够调动用户浏览的U中华VL,使其看起来更职业,合乎开垦及制品人士的供给。

图片 12 
为了让搜索引擎收音和录音网址内容,并让用户体验更好,集团会将动态U汉兰达L地址伪装成静态地址提供劳务。

图片 13 
网址换新域名后,让旧域名的走访跳转到新的域名上,举个例子:让京东的360buy换来了jd.com。

图片 14 
根据特殊变量、目录、客户端的消息实行U陆风X8L跳转等。

图片 15 
表明:开源软件附近wordpress的,官方都会对伪静态配置实行认证

四.拾 rewrite 模块的运用–地址重写

2.2.1 HTTP服务器的性状及亮点:

u  帮衬高产出:能援助几万并发连接(非常是静态小文件专门的工作情状)

u  能源消耗少:在两万并发连接下,开启11个Nginx线程消耗的内部存款和储蓄器不到200MB

u  能够做HTTP反向代理及加速缓存、即负载均衡功效,内置对卡宴S节点服务器健检作用,这一定于专门的学问的Haproxy软件或LVS的功能。

u  拥有Squid等正规缓存软件等的缓存功用。

u  支持异步网络I/O事件横型epoll(Linux2.⑥+)

2.四 nginx软件的动态访问瓶颈

叁.一.八 运行程序

[[email protected]
application]# /application/nginx/sbin/nginx

[[email protected]
application]#

自己商酌是或不是运营

[[email protected]
application]# ps -ef |grep nginx

root      26548      1  0 20:13 ?        00:00:00
nginx: master process /application/nginx/sbin/nginx

www       26549  26548  0 20:13 ?        00:00:00
nginx: worker process       

root      26551  23431  3 20:13 pts/0    00:00:00
grep –color=auto nginx

反省端口新闻

[[email protected]
application]# netstat -lntup |grep 80

tcp        0      0 0.0.0.0:80                 
0.0.0.0:*                   LISTEN      26548/nginx 

劳务配置产生

 

至此软件安装收尾!

nginx命令简化方法

echo ‘export
PATH=/application/nginx/sbin:$PATH’>>/etc/profile

source /etc/profile

which nginx

3.一.柒 精简化nginx.conf 主配置文件内容

[[email protected]
conf]# egrep -v “#|^$” nginx.conf.default >nginx.conf

4.玖.3 官方配置示范

location = / {

    [ configuration A ]

}

 

location / {

    [ configuration B ]

}

 

location /documents/ {

    [ configuration C ]

}

 

location ^~ /images/ {

    [ configuration D ]

}

 

location ~* \.(gif|jpg|jpeg)$ {

    [ configuration E ]

}

说明:

“/”请求将相配配置A,

“/index.html”请求将相配配置B,

“/documents/document.html”请求将异常配置C,

“/images/一.gif”请求将优秀配置D,

“/documents/一.jpg”请求将同盟配置E.

 

区别uri及特殊字符组合相称的相继表明

顺序

不用URI及特殊字符组合匹配

匹配说明

1

location = / {}

精确匹配 /

2

location ^~ /image/{

匹配常规字符串,不做正则表达式匹配检查

3

location ~* \.(gif|jpg|jpeg)$ {

正则匹配

4

location /documents/ {

匹配常规字符串,如果有正则,则优先匹配正则

5

location / {

所有location 都不能匹配后的默认匹配

二.二 NGINX 软件特性

三.三.3 运维 Nginx 时如下报错”nginx:[emerg]getpwnam(“nginx”〉failed”

解答这是因为从没对号入座的Nginx服务用户,施行useradd nginx-s/sbin/no丨ogin-M成立 Nginx

用户即可。为了让读者知道问题,再次出现上述失实进程,命令如下:

[[email protected]
tools]# pkill nginx

[[email protected]
tools]# userdel nginx

[[email protected]
tools]# /application/nginx/sbin/nginx

nginx: [emerg] getpwnam(Mnginx”) failed

[[email protected]
tools]# useradd nginx -s /sbin/nologin -M

[[email protected]
tools]# /application/nginx/sbin/nginx

 

4.七 status 状态模块

4.陆 小名的安排

在布局文件中增添小名

[[email protected]
conf]# vim extra/www.conf

    server {

        listen       80;

        server_name  www.etiantian.org
ett.org;

        location / {

            root   html/www;

            index  index.html index.htm;

        }

        error_page   500 502 503 504 
/50x.html;

        location = /50x.html {

            root   html;

        }

    }

}

重启服务

[[email protected]
conf]# /application/nginx/sbin/nginx -s reload

修改hosts 进行访问测试

[[email protected]
www]# curl  ett.org

web01 www

4.10.肆 方法二  再增添上3个区块

server {   

        server_name etiantian.org;

        rewrite ^/(.*) http://www.etiantian.org/$1
permanent;

}  

四.一.一 【语法检查】检查计划文件

[[email protected]
nginx]# /application/nginx/sbin/nginx -t

nginx: the configuration file
/application/nginx-1.10.2/conf/nginx.conf syntax is ok

nginx: configuration file
/application/nginx-1.10.2/conf/nginx.conf test is successful

肆.5.八 重启服务

[[email protected]
conf]# /application/nginx/sbin/nginx -t

nginx: the configuration file
/application/nginx-1.10.2/conf/nginx.conf syntax is ok

nginx: configuration file
/application/nginx-1.10.2/conf/nginx.conf test is successful

[[email protected]
conf]# /application/nginx/sbin/nginx -s reload

4.八.壹 定义错误日志新闻

系统暗许配置

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

配备错误日志,修改主配置文件

[[email protected]
logs]# vim ../conf/nginx.conf

worker_processes  1;

error_log  logs/error.log  error;

events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

          server{

          listen  80;

          server_name  status.etiantian.org;

          location / {

            stub_status on;

            access_log   off;

          }

        }

    include extra/www.conf;

    include extra/bbs.conf;

    include extra/blog.conf;

}

重启服务

[[email protected]
logs]# /application/nginx/sbin/nginx -t

nginx: the configuration file
/application/nginx-1.10.2/conf/nginx.conf syntax is ok

nginx: configuration file
/application/nginx-1.10.2/conf/nginx.conf test is successful

[[email protected]
logs]# /application/nginx/sbin/nginx -s reload

查阅错误日志消息

[[email protected]
logs]# tail  error.log

2017/10/25 11:41:55 [error] 40842#0: *7 open()
“/application/nginx-1.10.2/html/www/favicon.ico” failed (2: No such file
or directory), client: 10.0.0.1, server: www.etiantian.org, request:
“GET /favicon.ico HTTP/1.1”, host: “www.etiantian.org”, referrer:
http://www.etiantian.org/

4.10.3 方法一 使用if判断

[[email protected]
extra]# cat www.conf

    server {

        listen       80;

        server_name  www.etiantian.org
ett.org;

if ($host ~* “^etiantian.org$”) {

rewrite ^/(.*) http://www.etiantian.org/$1
permanent;

}

        location / {

            root   html/www;

            index  index.html index.htm;

        }

        access_log  logs/access_www.log 
main;

        error_page   500 502 503 504 
/50x.html;

        location = /50x.html {

            root   html;

        }

    }

测试

[[email protected]
www]# curl  etiantian.org -L

web01 www

 

肆.2.一 实行curl时,报403张冠李戴,因为从没首页文件消息

 [[email protected]
~]# echo ‘web01 www’ >
/application/nginx/html/www/index.html

        <-
在虚拟主机钦点的站点目录中开创首页文件       
 

[[email protected]
~]# curl www.etiantian.org 

<- 利用curl命令本地检验nginx配置是或不是成功;已经存在首页文件,测试成功

三.二 nginx.conf 配置文件表明

那般的布置文件是由此精简化配置文件获得!

[[email protected]
conf]# cat nginx.conf

worker_processes  1;                        ←
worker 进度数量

events {                     
              ←事件区块

    worker_connections  拾贰4;             
 ←每种worker进度能够处理的连接数

}                                         
  ←事件区块甘休

http {                                      ←
HTTP 区块

    include       mime.types;            
  ←协理的媒体文件

    default_type 
application/octet-stream;←暗中同意的传播媒介类型

    sendfile        on;                    
←高效传输形式

    keepalive_timeout  陆5;                 
←超时时间

    server {                                 ←
server 区块

        listen       80;                  
 ←端口

        server_name  localhost;            
←域名

        location / {                    
   ←第一个location区块

            root   html;                   
 ←站点目录

            index  index.html index.htm;  
  ←首页文件

        }                                  
 ←第3个location区块停止

        error_page   500 50二 50三 50四  /50x.html; 
← 错误音信配置

        location = /50x.html {                 
文件地方

            root   html;                     
在哪找:路径

        }                                     

    }            
                            ← server
区块停止

}                                            ←
HTTP 区块甘休

肆.五.伍 检查监听端口

[[email protected]
conf]# netstat -lntup |grep ng

tcp        0      0 0.0.0.0:80           0.0.0.0:*       LISTEN      40714/nginx       

四.柒.1 状态模块的布局

修改配置文件,加多叁status模块

[[email protected]
conf]# vim nginx.conf

worker_processes  1;

events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

          server{

          listen  80;

          server_name  status.etiantian.org;

          location / {

            stub_status on;

            access_log   off;

          }

        }

    include extra/www.conf;

    include extra/bbs.conf;

    include extra/blog.conf;

}

自己争执布署文件是还是不是科学

[[email protected]
conf]# /application/nginx/sbin/nginx -t

nginx: the configuration file
/application/nginx-1.10.2/conf/nginx.conf syntax is ok

nginx: configuration file
/application/nginx-1.10.2/conf/nginx.conf test is successful

重启服务

[[email protected]
conf]# /application/nginx/sbin/nginx -s reload

做客测试

 

说明:

如上页面内容新闻根本会被zabbix监控服务调取,变成图像新闻

基于图片新闻,从而判断nginx网址服务用户访问量情状

肆.11.一 修改nginx的有关安插文件

vim extra/www.conf

location / {

        root   html/www;

        index  index.html index.htm;

        auth_basic           “oldboy
training”;

        auth_basic_user_file  
/application/nginx/conf/htpasswd;

 }

肆.玖.4.壹  修改配置文件

概念差别的location重临不一致的数值

[[email protected]
extra]# vim www.conf

server {

    listen       80;

    server_name  www.etiantian.org
etiantian.org;

    root   html/www;

    location / {

       return 401;

    }

    location = / {

        return 402;

    }

    location /documents/ {

        return 403;

    }

    location ^~ /images/ {

        return 404;

    }

    location ~* \.(gif|jpg|jpeg)$ {

    return 500;

    }

    access_log logs/access_www.log main;

}

3.1.3 下载nginx软件

wget
http://nginx.org/download/nginx-1.10.2.tar.gz

表达:软件异常的小,用心查看一下

解压软件

tar xf nginx-1.10.2.tar.gz

3.1.5.1  注意

软件编写翻译安装步骤

a>软件解压配置(将软件程序安装到哪个目录中
开启nginx软件的怎样功能)

b>软件编写翻译进度

c>软件编写翻译安装进度

   注意顺序,顺序不对软件安装会出错

叁.一.六 成立软连接

[[email protected]
application]# ln -s /application/nginx-1.10.2/
/application/nginx

4.四.2 基于端口的虚拟主机

修改配置文件内容

[[email protected]
conf]# vim nginx.conf

    server {

        listen       81;

        server_name  bbs.etiantian.org;

        location / {

            root   html/bbs;

            index  index.html index.htm;

        }

        error_page   500 502 503 504 
/50x.html;

        location = /50x.html {

            root   html;

“nginx.conf” 46L, 1098C written  

重启服务

[[email protected]
conf]# /application/nginx/sbin/nginx -t

nginx: the configuration file
/application/nginx-1.10.2/conf/nginx.conf syntax is ok

nginx: configuration file
/application/nginx-1.10.2/conf/nginx.conf test is successful

[[email protected]
conf]# /application/nginx/sbin/nginx -s reload

自小编商议端口音讯

[[email protected]
conf]# netstat -lntup |grep ng

tcp        0      0 0.0.0.0:80                 
0.0.0.0:*                   LISTEN      40110/nginx        

tcp        0      0 0.0.0.0:81                  0.0.0.0:*                   LISTEN     
40110/nginx  

测试访问

[[email protected]
~]# curl  bbs.etiantian.org:81

web01 bbs

3.1.一 检查软件安装的种类处境

[[email protected]
~]# cat /etc/redhat-release

CentOS release 6.9 (Final)

[[email protected]
~]# uname -r

2.6.32-696.el6.x86_64

四.三.2 虚拟主机类型

分布的虚拟主机类型有如下二种

一)基于域名的虚拟主机

所谓基于域名的虚拟主机,意思就是经过分歧的域名区分不一样的虚拟主机,基于域名的虚拟主机是集团应用最广的虚拟主机类型,大致全部对外提供劳动的网站使用的都以依赖域名的虚拟主机,比方: www.znix.top。

二)基于端口的虚拟主机 

同理,所谓基于端口的虚拟主机,意思正是通过分裂的端口来不一致分歧的虚拟主机,此类虚拟主机对应的公司应用首要为公司里面网址,举个例子:一些不愿意平素对外提供用户访问的网址后台等,访问基于端口的虚拟主机,地址里要包涵端口,比方:http://blog.znix.top:80

    三)基于IP的虚拟主机

 所谓基于IP的虚拟主机,意思是透过差别的IP区分分歧的虚拟主机,

叁.1.4 创立管理用户 www

useradd -M -s /sbin/nologin www

 

叁.三.4 编写翻译安装pcre编写翻译软件时,gcc不全导致报错(本文使用yum安装不设有此难点)。

报错消息如下:

[[email protected]
pcre-8.30]# make && make install

make all-am

make[l] : Entering directory
7home/gjlin/tools/pcre-8.30′

CXX pcrecpp.lo

libtool : compile : unrecognized option
‘-DHAVE_CONFIG_H’

libtool : compile : Try ‘libtool –help* for more
information.

make[l】:***
[pcrecpp.lo】错误 1

make[l] : Leaving directory
Vhome/gjlin/tools/pcre-8.30′

make : *** [all]错误
2

解答:推行“yum -y install
gcc-c++”命令安装gcc-c++重视包。

四.四.3 基于IP的虚拟主机

注意:  

利用基于IP的虚拟主机,配置文件修改后要重启(-s stop)

安顿和IP地址配置相关的都要使用(-s stop)重启,不可见选拔软重启的诀要

修改配置文件

[[email protected]
conf]# cat nginx.conf

worker_processes  1;

events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {

        listen       10.0.0.8:80;

        server_name  www.etiantian.org;

        location / {

            root   html/www;

            index  index.html index.htm;

        }

        error_page   500 502 503 504 
/50x.html;

        location = /50x.html {

            root   html;

        }

    }

}

自己争持铺排文件格式

[[email protected]
conf]# /application/nginx/sbin/nginx -t

nginx: the configuration file
/application/nginx-1.10.2/conf/nginx.conf syntax is ok

nginx: configuration file
/application/nginx-1.10.2/conf/nginx.conf test is successful

重启服务,注意利用的是间接重启的法子 

只要nginx配置文件中关系到IP地址的更换只好正真的重启才生效

[[email protected]
conf]# /application/nginx/sbin/nginx -s stop

[[email protected]
conf]# /application/nginx/sbin/nginx

[[email protected]
conf]# netstat -lntup |grep ng

tcp        0      0 10.0.0.8:80                 0.0.0.0:*                   LISTEN     
40592/nginx   

走访测试

 

叁.壹.5.2  编写翻译安装软件

一、配置软件,在软件的解压目录中

[[email protected]
nginx-1.10.2]# ./configure –prefix=/application/nginx-1.10.2
–user=www –group=www –with-http_stub_status_module
–with-http_ssl_module

编写翻译参数表达:

–prefix      
    表示钦命软件设置到哪些目录中,钦点目录不存在会自动创设

–user/–group
      nginx事业进度由哪个用户运维管理

–with-http_stub_status_module   运营nginx状态模块作用(用户访问nginx的互连网新闻)

–with-http_ssl_module           运转https成效模块

经过软件编译过程中的再次来到值是还是不是科学,确认配置是还是不是准确

[[email protected]
nginx-1.10.2]# echo $?

0

   贰、编写翻译软件

[[email protected]
nginx-1.10.2]# make

   三、编写翻译安装

[[email protected]
nginx-1.10.2]# make install

4.8.3 【重要】访问日志音讯验证

日志内容

10.0.0.1 – – [22/Oct/2017:16:04:54 +0800] “GET /
HTTP/1.1” 304 0 “-” “Mozilla/5.0 (Windows NT 10.0; WOW64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100
Safari/537.36” “-“

配置文件

‘$remote_addr – $remote_user [$time_local]
“$request” ‘

‘$status $body_bytes_sent “$http_referer” ‘

‘”$http_user_agent”
“$http_x_forwarded_for”‘;

日记音信认证

参数

日志内容

含义

$remote_addr

10.0.0.1

客户端ip地址

 

$remote_user

显示远程访问者用户信息

[$time_local]

[22/Oct/2017:16:04:54 +0800]

显示访问时间

$request

GET / HTTP/1.1"

请求行信息

$status

304

状态码

$body_bytes_sent

0

响应报文主体内容大小

$http_referer

 

$http_user_agent

Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36

客户端浏览网页工具信息

$http_x_forwarded_for

反向代理转发

详细日志详细表达

Nginx日志变量

说明

$remote_addr

记录访问网站的客户端地址;即源IP地址

$http_x_forwarded_for

当前端有代理服务器时,设置web节点记录客户端地址的配置,此参数生效的

前提是代理服务器上也进行了相关的x_forwarded_for设置

可以记录用户真实的IP地址信息

$remote_user

远程客户端用户名称

$time_local

记录访问时间与时区

$request

用户的http请求起始行信息

$status

http状态码,记录请求返回的状态,例如:200 , 404 , 301等

$body_bytes_sents

服务器发送给客户端的响应body字节数

$http_referer

记录此次请求是从哪个链接访问过来的,可以根据referer进行防盗链设置

即表示是哪个网站介绍过来的

$http_user_agent

记录客户端访问信息,例如:浏览器、手机客户端等

在并未特殊供给的气象下,选拔暗中同意的配备就可以,越多能够安装的笔录日志消息的变量见:

http://nginx.org/en/docs/http/ngx\_httpJog\_module.html1

四.1壹 nginx 的拜会认证

三.壹.五  nginx软件编写翻译安装进程

四.八 nginx的日记效率

nginx的三种日志体系

谬误日志:记录nginx运营错误景况音信

访问日志:记录用户访问日志音讯

官方认证

http://nginx.org/en/docs/ngx\_core\_module.html\#error\_log

肆.玖.一 需要管理 –location的施用

一、定位需求调整的财富

     location == if

修改配置文件

[[email protected]
extra]# cat www.conf

    server {

        listen       80;

        server_name  www.etiantian.org;

        location / {

            root   html/www;

            index  index.html index.htm;

        }

        location /AV  {

            root  html/www;

            index index.html index.htm;

            allow 172.16.1.0/24;

            deny  all;

        }

    }

 

第2章 nginx 软件

四.1一.二 创造密码文件

注: 这里运用的htpasswd命令暗中认可是从未有过的,需求经过yum install httpd-tools -y
安装

[[email protected]
extra]# htpasswd -c /application/nginx/conf/htpasswd oldboy

New password:

Re-type new password:

Adding password for user oldboy

参数表明:

-c  Create a new file.

    创立一个新的密码文件

-b  Use the password from the command line rather
than prompting for it.

选择免交互的法子输入用户的密码新闻

htpasswd参数表明

参数

参数说明

-c

创建一个新文件。

-n

不更新文件; 显示结果。

-m

强制MD5密码加密。

-d

强制CRYPT加密密码(默认)。

-p

不加密密码(明文)。

-s

强制SHA加密密码。

-b

使用命令行中的密码,而不是提示。(免交互)

-D

删除指定的用户。

 

四.⑩.一 rewrite 重写模块

  将地址消息实行重写

rewrite 语法格式

rewrite regex replacement [flag]

rewrite应用标签:server、location、if

4.5.7 【优化】调节 inculde的加载顺序,钦赐第壹个加载为conf

[[email protected]
conf]# vim nginx.conf

worker_processes  1;

events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    include extra/www.conf;

    include extra/bbs.conf;

    include extra/blog.conf;

}

三.四.五 展现配置参数  -V (大写V)

[[email protected]
application]# /application/nginx/sbin/nginx -V

nginx version: nginx/1.10.2

built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)

built with OpenSSL 1.0.1e-fips 11 Feb 2013

TLS SNI support enabled

configure arguments:
–prefix=/application/nginx-1.10.2 –user=www –group=www
–with-http_stub_status_module –with-http_ssl_module

四.玖.肆.二  访问测试

基于请求例外uri的归来值验证
location的配置。

[[email protected]
~]# curl -I -w “%{http_code}\n” -o /dev/null -s 
www.etiantian.org/documents

401

[[email protected]
~]# curl -I -w “%{http_code}\n” -o /dev/null -s 
www.etiantian.org

402

[[email protected]
~]# curl -I -w “%{http_code}\n” -o /dev/null -s 
www.etiantian.org/documents/ss.jpg

500

[[email protected]
~]# curl -I -w “%{http_code}\n” -o /dev/null -s 
www.etiantian.org/documents

401

[[email protected]
~]# curl -I -w “%{http_code}\n” -o /dev/null -s 
www.etiantian.org/documents/

403

[[email protected]
~]# curl -I -w “%{http_code}\n” -o /dev/null -s 
www.etiantian.org/images/1.jpg

404

肆.伍.2 第三个里程碑: 生产虚拟主机配置文件

[[email protected]
conf]# sed -n ‘10,21p’ nginx.conf > extra/www.conf

[[email protected]
conf]# sed -n ‘22,33p’ nginx.conf > extra/bbs.conf

[[email protected]
conf]# sed -n ‘34,45p’ nginx.conf > extra/blog.conf

肆.3 【概念】虚拟主机的定义和种类

虚拟主机使用的是出格的软硬件技艺,它把一台运营在因特网络的服务器主机分成壹台台“虚拟”的主机,每台虚拟主机都得以是二个单独的网址,能够具有独立的域名,具备完整的Intemet服务器作用(WWW、FTP、Email等),同1台主机上的虚拟主机之间是一点1滴独立的。从网址访问者来看,每1台虚拟主机和1台独立的主机完全同样。

动用虚拟主机,不用为各个要运转的网址提供壹台单独的Nginx服务器或单独运转一组Nginx进度。虚拟主机提供了在依然故小编台服务器、同一组Nginx进度上运维多个网址的效率。

 

4.8.二 访问日志配置

系统默许配置

#log_format  main  ‘$remote_addr – $remote_user
[$time_local] “$request” ‘

#                  ‘$status $body_bytes_sent
“$http_referer” ‘

#                  ‘”$http_user_agent”
“$http_x_forwarded_for”‘;

 

#access_log  logs/access.log  main;

修改访问日志配置–修改主配置文件

[[email protected]
www]# cat ../../conf/nginx.conf

worker_processes  1;

error_log  logs/error.log  error;

events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    log_format  main  ‘$remote_addr –
$remote_user [$time_local] “$request” ‘

                  ‘$status $body_bytes_sent “$http_referer” ‘

                  ‘”$http_user_agent” “$http_x_forwarded_for”‘;

 

          server{

          listen  80;

          server_name  status.etiantian.org;

          location / {

            stub_status on;

            access_log   off;

          }

        }

    include extra/www.conf;

    include extra/bbs.conf;

    include extra/blog.conf;

}

修改访问日志配置–修改虚拟主机配置文件

[[email protected]
www]# cat /application/nginx/conf/extra/www.conf

    server {

        listen       80;

        server_name  www.etiantian.org
ett.org;

        location / {

            root   html/www;

            index  index.html index.htm;

        }

access_log  logs/access_www.log  main;

        error_page   500 502 503 504 
/50x.html;

        location = /50x.html {

            root   html;

        }

    }

3.三.一 nginx软件安装进度中际遇的主题材料

软件注重包未正确安装难点—PCRE重视包未有安装

./configure: error: the HTTP rewrite module requires
the PCRE library.

You can either disable the module by using
–without-http_rewrite_module

option, or install the PCRE library into the system,
or build the PCRE library

statically from the source with nginx by using
–with-pcre=<path> option.

减轻方法:yum install pcre pcre-devel -y

软件信赖包未精确安装难题—OPENSSL重视包未有设置

./configure: error: SSL modules require the OpenSSL
library.

You can either do not enable the modules, or install
the OpenSSL library

into the system, or build the OpenSSL library
statically from the source

with nginx by using –with-openssl=<path>
option.

不留余地办法:yum install openssl openssl-devel -y

贰.四.二 最重大的界别(select & epoll)

NGINX 使用的是epoll
和Kqueue 异步网络I/O模型,而apache使用的是守旧的select模型

比喻:

率先个比喻:

假诺你在大学读书,住的宿舍楼有广大房子,你的对象要来找你。select版宿管大姨就会带着你的朋友到各房间挨个去找,直到找到您得了。而epoll版宿管大姨会先记下每位入住同学的房间号,你的心上人来找你时,只需告诉您的心上人你住在哪个房间就能够,不用亲自带着您的爱侣满宿舍楼找人了。若是还要来了96位,都要找本人住那栋楼的同室,select版和epoll版宿管大妈,何人的功效更加高,就很刚烈了。

其次个举个例子:

select的调用复杂度是线性的,即O(n)。举例,2个女佣照拂照料一批孩子,假诺把儿女是或不是须要尿尿比作互连网I/O事件,select的作用就好比那么些保姆挨个询问各样孩子”你要尿尿吗?”假若子女回答是,保姆则把儿女领出来放到其余3个地点。当有着子女明白完事后,保姆领着这一个要尿尿的男女去上洗手间(管理网络I/O事件).在epoll机制下,保姆不再必要各种询问每一种孩子是不是必要尿尿。取而代之的是,假使子女要求尿尿,他就和好积极站到事先约定好的地方,而保姆的职分便是查看事先约定好的地点是或不是有儿女。假使有幼儿,则领着儿女去上厕所(互连网事件管理)。由此,epoll的这种体制,能够高效地处理不知凡几的面世连接,并且质量不会趁机连接数増加而下落太多。