• linux运维、架构之路-Nginx服务


    一、Nginx服务

    1、介绍

            Nginx软件常见的使用方式或架构为:LNMP(linux nginx mysql php),Nginx三大主要功能,web网站服务,反向代理负载均衡(nginx lvs haproxy),nginx缓存服务

    2、特点

    ①支持高并发:能支持几万并发连接(特别是静态小文件业务环境)
    ②资源消耗少:在3万并发连接下,开启10个Nginx线程消耗的内存不到200MB
    ③可以做HTTP反向代理及加速缓存、即负载均衡功能,
    内置对RS节点服务器健康检查功能,这相当于专业的Haproxy软件或LVS的功能。
    ④具备Squid等专业缓存软件等的缓存功能。
    ⑤支持异步网络I/O事件模型epoll(Linux 2.6+)(绘图说明同步和异步)

    总结:高并发-->资源消耗少-->功能多样(web服务/负载均衡/支持缓存)-->通讯模型先进(epoll)

    3、企业功能应用

    ①作为web服务软件
    ②反向代理或负载均衡服务
    ③前端业务数据缓存服务

    4、常见提供动态服务软件

    ①PHP(FastCGI):大中小型网站都会使用,动态网页语言PHP程序的解析容器,可以配合Apache解析动态程序,不过,这里的PHP不是FastCGI守护进程模式,而是mod_php5.so模块形式,也可以配合Nginx解析动态程序,此时的PHP常用FastCGI守护进程模式提供服务。
    ②Tomcat:中小企业动态Web服务主流,互联网JAVA容器主流(如JSP、do)
    ③Resin:大型动态Web主流,互联网JAVA容器主流(如JSP、do)
    ④IIS,微软windows下的Web服务软件(如asp、aspx)

    二、Nginx编译安装

    1、安装Nginx依赖包

    yum install -y pcre-devel openssl-devel

    2、编译安装

    mkdir -p /server/tools/
    cd /server/tools/
    wget -q http://nginx.org/download/nginx-1.10.3.tar.gz
    useradd www -s /sbin/nologin -M
    tar xf nginx-1.10.3.tar.gz
    cd nginx-1.10.3
    ./configure --prefix=/application/nginx-1.10.3 --user=www --group=www --with-http_stub_status_module  --with-http_ssl_module
    make && make install
    ln -s /application/nginx-1.10.3/ /application/nginx
    /application/nginx/sbin/nginx
    lsof -i:80

    3、 Nginx重要目录结构

    conf

    nginx服务配置文件信息

    html

    web服务的站点目录

    logs

    nginx服务相关日志文件保存的目录

    sbin

    nginx服务相关命令保存目录

    4、相关命令使用

    /application/nginx/sbin/nginx              #启动服务
    /application/nginx/sbin/nginx -t           #语法检查
    /application/nginx/sbin/nginx –s reload    #优雅重启服务
    /application/nginx/sbin/nginx –s stop      #停止服务
    /application/nginx/sbin/nginx –V           #查看Nginx软件编译参数

    5、Nginx配置文件

    [root@web01 conf]# egrep -v "#|^$" nginx.conf.default >nginx.conf #最小化学习nginx配置文件

    三、虚拟主机的搭建

    1、 创建多域名虚拟主机站点目录

    mkdir /application/nginx/html/{www,bbs,blog} –p

    2、配置文件增加多虚拟主机

    [root@web01 html]# 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.etiantian.org;
            location / {
                root   html/www;
                index  index.html index.htm;
            }
        }
        server {
            listen       80;
            server_name  bbs.etiantian.org;
            location / {
                root   html/bbs;
                index  index.html index.htm;
            }
        }
        server {
            listen       80;
            server_name  blog.etiantian.org;
            location / {
                root   html/blog;
                index  index.html index.htm;
            }
        }
    }

    3、优雅重启Nginx服务

    [root@web01 html]# /application/nginx/sbin/nginx -s reload

    4、本地域名解析测试

    [root@web01 html]# for name in www bbs blog ;do echo 10.0.0.8 ${name}.etiantian.org >/application/nginx/html/$name/index.html ;done #创建不同的首页文件
    for name in www bbs blog; do cat /application/nginx/html/$name/index.html;done#检查
    10.0.0.8 www.etiantian.org
    10.0.0.8 bbs.etiantian.org
    10.0.0.8 blog.etiantian.org
    利用curl命令测试Nginx配置多域名虚拟主机是否成功
    [root@web01 html]# for name in www bbs blog;do curl $name.etiantian.org;done
    10.0.0.8 www.etiantian.org
    10.0.0.8 bbs.etiantian.org
    10.0.0.8 blog.etiantian.org

    5、Nginx错误页面

    error_page 500 502 503 504 /50x.html; #出现对应的http状态码使用50x.html回应
    location = /50x.html{                 #location 区块开始,访问50x.html
           root  html;                    #指定对应的站点目录为html
    }

    6、其它扩展知识小结

    利用vim复制命令,复制创建多个server主机标签;即x,ycopyz---10,17copy17

    nginx配置文件编辑技巧,可以利用%在server一对花括号之间进行切换

    ③304状态码的意义说明

    304状态码是浏览器缓存造成的,可以利用装包工具进行查看获取(抓包工具进行理解http访问过程)

    取消缓存的方式为:在浏览器设置中进行清除缓存;或者采用浏览器强制刷新功能进行浏览器缓存的刷新

    wireshark抓包软件使用

    启动软件---选择需要进行转包的网卡---开始进行抓包

    vim批量编辑方法:

    ctrl+v进入批量编辑模式

    上下箭头选中批量操作的行

    shift+i 编辑选中的第一行

    按ESC结束编辑,多行同时编辑完成

    成功最有效的方法就是向有经验的人学习!
  • 相关阅读:
    巴基斯坦:软件服务外包行业的后来者 (zz)
    对象集合查询
    我的db类库 新版
    得到web.config里配置项的数据库连接字符串
    jdk环境变量配置
    FastReport v3.2.5在BDS2006中的安装方法
    CONFIG.SYS文件的命令与配置
    DOS下内存的配置
    动态注册ODBC数据源的通用方法
    XP下安装装SQL2000企业版本
  • 原文地址:https://www.cnblogs.com/yanxinjiang/p/7511528.html
Copyright © 2020-2023  润新知