美文网首页
Ngin简介及环境搭建(一)

Ngin简介及环境搭建(一)

作者: andpy | 来源:发表于2018-05-15 17:08 被阅读23次

    Nginx环境的搭建要求

    配置要求:

    • 系统硬件:cpu>=2core ,内存>=256M
    • 可以采用,云服务器,vmware,docker等根据自己的条件选择

    操作系统:

    • CentOS:版本>7.0,位数 X64
    //查看版本
    uname -a
    

    前置条件确认

    在服务器确认一些选项

    • 确认系统网络可用
    ping www.baidu.com
    
    • 确认yum可用
    yum list|grep gcc
    
    • 确认关闭iptables规则
    //查看规则
    iptables -L
    //关闭iptables规则
    iptables -F
    //保险再次确认 nat表里面
    iptables -t nat -L    
    //关闭
    iptables -t nat -F    
    
    • 确认停用selinux
    //查看是否开启
    getenforce
    //关闭 selinux
    setenforce 0
    

    基本工具安装:编译后面的操作

    // -y表示不确认
    yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake
    yum -y install wget httpd-tools vim
    

    新建目录目录:便于后面使用

    cd/opt
    //代码目录,网上下载源码等目录,日志目录,shell脚本目录,备份配置文件等     
    mkdir app download logs work backup
    

    Nginx简介

    Nginx是一个开源 且高性能,可靠的Http中间件,代理服务.
    常见的http服务

    • HTTPD:Apache基金会
    • IIS:微软
    • GWS:google不对外开放的

    优势:

    • IO多路复用epoll
    io多路复用:多个描述符的I/O操作都能在一个线程内并发交替的顺序完成,复用指的的是复用同一个线程.
    常见IO多路复用实现的方式 select ,poll,epoll
    select缺点:监视文件描述符的数量存在最大的限制,线性扫描效率低下.
    epoll模型:每当fd就绪,采用系统的回调函数之间的将fd放入,效率更高;最大连接无限制.(nginx采用这种)
    
    • 轻量级,功能模块少,代码模块化
    • CPU亲和
    一种把cpu核心和nginx工作进程绑定的方式,把每个worker进程固定在一个cpu上执行,减少切换cpu的cache miss,获得更好的额性能。
    
    • sendfile (静文件能力很强)
    直接通过内核,不通过用户空间传输
    

    nginx搭建

    官网: www.nginx.org
    解释说明: MainLine version开发版,Stable version稳定版, Legacy version历史版本。

    安装:
    文档地址:http://nginx.org/en/linux_packages.html

    //打开配置文件
    vim /etc/yum.repos.d/nginx.repo
    //设置配置
    [nginx]
    name=nginx repo
    baseurl=http://nginx.org/packages/centos/7/$basearch/
    gpgcheck=0
    enabled=1
    //验证查看
    yum list|grep nginx
    //安装nginx
    yum install nginx
    //查看版本
    nginx -v
    

    安装目录:

    //查看nginx目录
    rpm -ql nginx
    
    //配置文件,nginx日志轮转,用于logrotate服务的日志切割
    etc/logrotate.d/nginx
    
    //配置文件,nginx主配置文件
    /etc/nginx
    /etc/nginx/nginx.conf //主要配置文件,启动的时候主要读取该配置文件
    /etc/nginx/conf.d
    /etc/nginx/conf.d/default.conf //默认配置文件
    
    //cgi配置相关,fastcgi配置
    /etc/nginx/fastcgi_params  // php
    /etc/nginx/uwsgi_params     //python
    /etc/nginx/scgi_params
    
    //编码转换与映射转换文件
    /etc/nginx/koi-utf
    /etc/nginx/koi-win
    /etc/nginx/win-utf
    
    //设置http协议的Content-Type与扩展名对应关系
    /etc/nginx/mime.types
    
    //配置出系统守护进程管理文件,管理器方式
    /usr/lib/systemd/system/nginx-debug.service
    /usr/lib/systemd/system/nginx.service
    /etc/sysconfig/nginx
    /etc/sysconfig/nginx-debug
    
    //nginx模块目录
    /usr/lib64/nginx/modules
    /etc/nignx/modules
    
    //nginx服务的启动管理终端命令
    /usr/sbin/nginx
    /usr/sbin/nginx-debug
    
    //nginx的手册和帮助文件
    /usr/share/doc/nginx-1.12.0
    /usr/share/doc/nginx-1.12.0/CONPYRIGHT
    /usr/share/man/man8/nginx.8.gz
    
    //nginx的缓存目录,
    /var/cache/nginx
    
    //nginx日志输出目录
    /var/log/nginx
    

    安装编译参数:一下参数是在源码安装时指定的参数

    //查看源码编译相关的参数等
    nginx -V
    
    //安装目的目录或者路径
    --prefix=/etc/nginx 
    --sbin-path=/usr/sbin/nginx 
    --modules-path=/usr/lib64/nginx/modules 
    --conf-path=/etc/nginx/nginx.conf 
    --error-log-path=/var/log/nginx/error.log 
    --http-log-path=/var/log/nginx/access.log 
    --pid-path=/var/run/nginx.pid 
    --lock-path=/var/run/nginx.lock 
    
    //执行对应模块时,Nginx所保留的临时性文件
    --http-client-body-temp-path=/var/cache/nginxclient_temp 
    --http-proxy-temp-path=/var/cache/nginx/proxy_temp 
    --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp 
    --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp 
    --http-scgi-temp-path=/var/cache/nginx/scgi_temp 
    
    //设定nginx进程启动的用户组和组用户
    --user=nginx 
    --group=nginx
    
    //
    --with-compat 
    --with-file-aio 
    --with-threads 
    --with-http_addition_module 
    --with-http_auth_request_module 
    --with-http_dav_module 
    --with-http_flv_module 
    --with-http_gunzip_module 
    --with-http_gzip_static_module 
    --with-http_mp4_module 
    --with-http_random_index_module 
    --with-http_realip_module 
    --with-http_secure_link_module 
    --with-http_slice_module 
    --with-http_ssl_module 
    --with-http_stub_status_module 
    --with-http_sub_module 
    --with-http_v2_module 
    --with-mail 
    --with-mail_ssl_module 
    --with-stream 
    --with-stream_realip_module 
    --with-stream_ssl_module 
    --with-stream_ssl_preread_module 
    //设置额外的参数将被添加到CFLAGS变量
    --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' 
    //设置附加的参数,链接系统库
    --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'
    

    相关文章

      网友评论

          本文标题:Ngin简介及环境搭建(一)

          本文链接:https://www.haomeiwen.com/subject/warydftx.html