关于nginx:nginx安装配置

4次阅读

共计 3994 个字符,预计需要花费 10 分钟才能阅读完成。

Nginx 的装置步骤
1、装置 Nginx 依赖库
yum -y install gcc pcre-devel zlib openssl openssl-devel
2、解压 Nginx 安装包
tar –zxf nginx-1.12.2.tar.gz
3、进入 Nginx 目录
cd nginx-1.12.2
4、配置文件,生成 makefile 文件
./configure –prefix=/usr/local/nginx

--prefix=PATH                     指定 nginx 的装置目录。默认 /usr/local/nginx
--conf-path=PATH                 设置 nginx.conf 配置文件的门路。nginx 容许应用不同的配置文件启动,通过命令行中的 - c 选项。默认为 prefix/conf/nginx.conf
--user=name                        设置 nginx 工作过程的用户。装置实现后,能够随时在 nginx.conf 配置文件更改 user 指令。默认的用户名是 nobody。--group=name 相似
--with-pcre                     设置 PCRE 库的源码门路,如果已通过 yum 形式装置,应用 --with-pcre 主动找到库文件。应用 --with-pcre=PATH 时,须要从 PCRE 网站下载 pcre 库的源码(版本 4.4 – 8.30)并解压,剩下的就交给 Nginx 的./configure 和 make 来实现。perl 正则表达式应用在 location 指令和 ngx_http_rewrite_module 模块中
--with-zlib=PATH                 指定 zlib(版本 1.1.3 – 1.2.5)的源码解压目录。在默认就启用的网络传输压缩模块 ngx_http_gzip_module 时须要应用 zlib
--with-http_ssl_module             应用 https 协定模块。默认状况下,该模块没有被构建。前提是 openssl 与 openssl-devel 已装置
--with-http_stub_status_module    用来监控 Nginx 的以后状态
--with-http_realip_module        通过这个模块容许咱们扭转客户端申请头中客户端 IP 地址值(例如 X -Real-IP 或 X-Forwarded-For),意义在于可能使得后盾服务器记录原始客户端的 IP 地址
--add-module=PATH                 增加第三方内部模块,如 nginx-sticky-module-ng 或缓存模块。每次增加新的模块都要从新编译(Tengine 能够在新退出 module 时无需从新编译)

5、编译装置
make && make install
6、实现装置后进入 nginx 目录下的 sbin 目录,启动 nginx
./nginx 启动 Nginx
./nginx -s reload 重读配置文件
./nginx -s stop 进行 Nginx
./nginx -s reopen 重启 Nginx
./nginx -s quit 优雅退出

user nobody nobody 配置运行服务器的用户和组(nobody 示意所有用户和组都能够启动 Nginx)
worker_processes 8 ; 容许生成的 worker process 数,默认 1
error_log logs/error.log info; 配置谬误日志的寄存门路及存储级别(日志级别低到高的程序 debug|info|notice|warn|error|crit|alert|emerg,默认 error)
pid logs/nginx.pid; 配置 PID 文件寄存门路

events {

accept_mutex  on|off;                                设置网络连接的序列化,默认开启 (on) 状态, 给多个 Nginx 过程接管连贯进行序列化,避免多个过程对连贯争抢
multi_accept  on|off;                                设置同时接管多个网络连接,默认敞开 (off) 状态,一次只能接管一个新达到的网络连接
use method;配置事件驱动模型,method 可抉择的内容有:select、pool、kqueue、epoll、rtsig、/dev/poll、eventport
worker_connections  1024;                              配置最大连接数(容许每一个 worker process 同时开启的最大连接数)

}

http {

include file;配置能够引入的配置文件,反对相对路径
default_type  application/octet-stream;
proxy_cache_path /nginx/cache/first [levels=1:2:1] keys_zone=first:20m [max_size=1g];    创立缓存, 不能定义在 server{}上下文中
    /nginx/cache/first                                在本地创立一个缓存目录
    max_size=1g                                        缓存目录内容超过 1G 时,nginx 会启用 cache_manager 过程应用最近起码应用算法革除之前的缓存
    keys_zone=first:20m                                在缓存目录中定义一个 20M 的名字为 first 的区域
    levels=1:2:1                                    定义区域中缓存目录的级数及每个级数字符个数(此处定义的缓存目录级数为 3 级,1 级字符个数是 1 个,2 级字符个数是 2 个,3 级字符个数是 1 个)

配置自定义日志格局
#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;                    配置日志文件门路及日志格局
sendfile        on;
tcp_nopush     on;
keepalive_timeout  65;                                设置长连贯超时工夫
gzip  on|off;                                        开启敞开压缩性能

upstream NAME {                                        配置后端服务器集群
    server                                            配置后端服务器地址及端口
    weight =                                        配置为权重调度集群
    ip_hash;                                        配置为 hash 调度集群
    least_conn;                                        配置为起码调度集群
    max_fails =                                        配置最大的健康检查次数
    fail_timeout =                                    配置每次健康检查的超时工夫
    back                                            其它服务器无奈连贯时才转发到此服务器
}

server {
    listen       80;                                配置监听端口
    server_name  localhost;                            配置主机名
    charset koi8-r;
    
    location URI {};                                对以后门路及子门路下的所有对象都失效
    location = URI {};                                准确匹配指定的门路,不蕴含子门路,因而只对以后资源失效
    location ~ URI {};                                模式匹配 URI,此处的 URI 可应用正则表达式,~ 辨别大小写
    location ~* URI {};                                模式匹配 URI,此处的 URI 可应用正则表达式,~* 不辨别大小写
    location ^~ URI {};                                不应用正则表达式
    匹配的优先级程序为 location = URI {},location ^~ URI {},location ~ URI {}、location ~* URI {},location URI {}
    
    location / {
        root   html;                                配置 URI 的根门路
        index  index.html index.htm;                配置默认页面
        autoindex on;                                开启主动索引
        stub_status on;                                
        deny IP;                                    回绝 IP 拜访
        allow IP;                                    容许 IP 拜访
        deny all;                                    回绝所有 IP 拜访
        auth_basic;                                    开启基于用户的访问控制
        auth_basic_user_file /etc/nginx/.user;        配置管制用户文件的寄存门路
        proxy_pass                                    配置代理的后端服务器
        proxy_cache first                            启用区域名为 first 的缓存
        proxy_set_header X-Real-IP $remote_addr        配置代理到后端服务器时发送客户端的 IP 地址
        rewrite [模式匹配 | 判断] 重定向门路 参数        配置 URL 重定向
            判断:
                if ($request_method = "POST") {proxy_pass}
                if ($request_uri ~* "/forum") { }
            参数:
                last                                本次重写实现之后,重启下一轮查看
                break                                本次重写实现之后,间接执行后续操作
    }
    
    location / {                                    读写拆散配置
        proxy_pass http://192.168.3.6/;
        if ($request_method = "PUT") {                将上传的文件上传到 proxy_pass 定义的服务器
            proxy_pass http://192.168.3.8/
        }
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {root   html;}

    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;
    }
}

server {                                            HTTPS 的配置
    listen       443 ssl;
    server_name  localhost;
    ssl    on;                                            关上 ssl 性能
    ssl_certificate      /etc/nginx/ssl/cert.pem;    配置证书寄存地位
    ssl_certificate_key  cert.key;                    配置秘钥寄存地位
    ssl_session_cache    shared:SSL:1m;                配置会话缓存
    ssl_session_timeout  5m;                        配置会话超时工夫
    ssl_ciphers  HIGH:!aNULL:!MD5;                    配置加密算法
    ssl_prefer_server_ciphers  on;                    是否容许服务端抉择其偏向的加密算法

    location / {
        root   html;
        index  index.html index.htm;
    }
}

}

正文完
 0