Nginx安装及配置(二)

12 篇文章 2 订阅

nginx的安装

官方:

Fedora-EPEL:

yum安装
yum install nginx
编译安装:
wegt http://nginx.org/download/nginx-1.12.2.tar.gz

tar xvf nginx-1.12.2.tar.gz

vim nginx-1.12.2/src/core/nginx.h
    #define NGINX_VERSION  "1.12.2" #修改版本号
    #define NGINX_VER      "nginxxxx/" NGINX_VERSION #修改显示服务器名字
    命令 daemon off; 隐藏版本号 显示nginxxxx

vim nginx-1.12.2/src/http/ngx_http_header_filter_module.c #49行处
    static u_char ngx_http_server_string[] = "Server: nginxzzz" CRLF; #修改nginx名字
    命令:server_tolens off; #在http中 隐藏版本号 显示nginxzzz

yum install pcre-devel openssl-devel zlib-devel 

yum groupinstall "development tools"

useradd -r nginx -s /sbin/nologin

./configure --prefix=/usr/local/nginx --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--user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_dav_module --with-http_stub_status_module --with-threads --with-file-aio

make && make install

vim /etc/profile.d/nginx.sh
    PATH=/usr/local/nginx/sbin/:$PATH

/usr/local/nginx/sbin/nginx #启动
/usr/local/nginx/sbin/nginx -s stop  #停止

编译安装nginx的选项:

--prefix=/etc/nginx  #安装路径
--sbin-path=/usr/sbin/nginx  #指明nginx程序文件安装路径
--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  #指明pid文件安装位置
--lock-path=/var/run/nginx.lock  #锁文件安装位置
--http-client-body-temp-path=/var/cache/nginx/client_temp  #客户端body部分的临时文件存放路径,如果服务器允许客户端使用put方法提交大数据时,临时存放的磁盘路径
--http-proxy-temp-path=/var/cache/nginx/proxy_temp  #作为代理服务器,服务器响应报文的临时文件存放路径
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp  #作为fastcgi代理服务器,服务器响应报文的临时文件存放路径
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp  #作为uwsgi代理服务器,服务器响应报文的临时文件存放路径
--http-scgi-temp-path=/var/cache/nginx/scgi_temp  #作为scgi反代服务器,服务器响应报文的临时文件存放路径
--user=nginx  #指明以那个身份运行worker进程,主控master进程一般由root运行
--group=nginx
--with-http_ssl_module  #表示把指定模块编译进来
nginx编译的目录结构
ls /usr/local/nginx/
    /usr/share/nginx/html/index.html
    html是测试页,sbin是主程序 

ls /usr/local/nginx/sbin/
    nginx只有一个程序文件 

ls /usr/local/nginx/html/
    50x.html index.html 测试网页

rpm -ql nginx 查看yum安装目录结构

nginx命令

Nginx:默认为启动nginx
    -h 查看帮助选项
    -v 查看版本
    -V 查看版本和配置选项
    -t 测试nginx语法错误 
    -T nginx配置文件内容
    -q 不显示错误信息
    -c filename 指定配置文件(default: /etc/nginx/nginx.conf) 
    -s signal 发送信号给master进程,signal可为:stop, quit, reopen, reload 示例:-s stop 停止nginx-s reload 加载配置文件 
    -g directives 在命令行中指明全局指令

nginx配置

配置文件的组成部分:

  • 主配置文件: /etc/nginx/nginx.conf
  • 子配置文件: include /etc/nginx/conf.d/*.conf
  • fastcgi,uwsgi,scgi等协议相关的配置文件
  • mime.types:支持的mime类型 /etc/nginx/mime.types

主配置文件的配置指令:

directive value [value2 ...];

注意:

  • (1) 指令必须以分号结尾
  • (2) 大小写敏感
  • (3) 支持使用配置变量
    • 内建变量:由Nginx模块引入,可直接引用
    • 自定义变量:由用户使用set命令定义set variable_namevalue;
    • 引用变量:$variable_name

主配置文件结构:四部

main block:主配置段,即全局配置段,对http,mail都有效
    event {
        ...
    } #事件驱动相关的配置
http {
    ...
}    #http/https 协议相关配置段
mail {
    ...
}    #mail 协议相关配置段
stream {
    ...
}    #stream 服务器相关配置段

Main 全局配置段常见的配置指令分类

  • 正常运行必备的配置

  • 优化性能相关的配置

  • 用于调试及定位问题相关的配置

  • 事件驱动相关的配置

  • 帮助文档 http://nginx.org/en/docs/

正常运行必备的配置:

帮助文档:http://nginx.org/en/docs/ngx_core_module.html

1、user 
    Syntax:  user user[group];
    Default: user nobody nobody;
    Context: main
    指定worker进程的运行身份,如组不指定,默认和用户名同名
    rpm -q --scripts nginx #查看安装脚本

2、pid /PATH/TO/PID_FILE
    指定存储nginx主进程PID的文件路径 #/var/run/nginx.pid

3、include file | mask
    指明包含进来的其它配置文件片断

4、load_module file 
    模块加载配置文件:/usr/share/nginx/modules/*.conf
    指明要装载的动态模块路径: /usr/lib64/nginx/modules
性能优化相关的配置:
1、worker_processes number | auto
    worker进程的数量;通常应该为当前主机的cpu的物理核心数

2、worker_cpu_affinity cpumask ...
    worker_cpu_affinity auto [cpumask] 提高缓存命中率
    CPU MASK:000000010号CPU
              000000101号CPU
              100000008号CPU
    worker_cpu_affinity 0001 0010 0100 1000;
    worker_cpu_affinity 0101 1010;

    命令查看:
        top 和 htop
        watch -n 0.5 'ps axo cmd,pid,psr |grep nginx'
3、worker_priority number
    指定worker进程的nice值,设定worker进程优先级:[-20,20]实测:最大19

4、worker_rlimit_nofile number
    worker进程所能够打开的文件数量上限,如65535
事件驱动相关的配置:
events {
    ...
}

1、worker_connections number
    每个worker进程所能够打开的最大并发连接数数量,如10240
    总最大并发数:worker_processes *  worker_connections

2、use method
    指明并发连接请求的处理方法,默认自动选择最优方法
    use epoll;

3、accept_mutexon | off 
    互斥处理新的连接请求的方法;on指由各个worker轮流处理新请求,Off指每个新请求的到达都会通知(唤醒)所有的worker进程,但只有一个进程可获得连接,造成“惊群”,影响性能,默认on
调试和定位问题:
1、daemon on|off
    是否以守护进程方式运行nignx,默认是守护进程方式 on后台运行 off前台运行

2、master_processon|off
    是否以master/worker模型运行nginx;默认为on off将不启动worker

3、error_logfile [level]  
    错误日志文件及其级别;出于调试需要,可设定为debug;
    但debug仅在编译时使用了“--with-debug”选项时才有效
    stderr:发送到标准错误
    syslog:server-address[,parameter=values]:发送到syslogmemory:size内存
    level:debug|info|notice|warn|error|crit|alter|emerg

下一篇 nginx http模块详解(三)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值