Centos Nginx配置详解
启动服务:nginx
退出服务:nginx -s quit
强制关闭服务:nginx -s stop
重载服务:nginx -s reload (重载服务配置文件,类似于重启,但服务不会中止)
验证配置文件:nginx -t
使用配置文件:nginx -c "配置文件路径"
使用帮助:nginx -h安装Nginx
[root@localhost wcw]# tar -zxvf nginx-1.12.2.tar.gz
[root@localhost wcw]# cd nginx-1.12.2
[root@localhost nginx-1.12.2]# ./configure --prefix=/usr/local/nginx --with-http_mp4_module --with-http_flv_module --with-http_realip_module --with-http_ssl_module
[root@localhost nginx-1.12.2]# make
[root@localhost nginx-1.12.2]# make install环境配置---> export PATH=/usr/local/nginx/sbin:$PATH
开机启动---> (测时候不成功)
1. vim /etc/init.d/nginx # 创建开机启动文件
并且从官网copy脚本 http://wiki.nginx.org/RedHatNginxInitScript
nginx=”/usr/local/nginx/sbin/nginx” 修改成nginx执行程序的路径。
NGINX_CONF_FILE=”/usr/local/nginx/conf/nginx.conf” 修改成配置文件的路径。
2、保存脚本文件后设置文件的执行权限
chmod a+x /etc/init.d/nginx
3、设置终端模式开机启动:
chkconfig nginx on
1 . 以下为Nginx 跟配置文件架构:
user nginx;
worker_processes 4;events{# events 块.....
}http #http块
{ ..... # http全局快server # server块{.... server #server全局块location [PATTERN] #location块{.....}location [PATTERN] #location块{ .....} }server # server块{.... server #server全局块location [PATTERN] #location块{.....}location [PATTERN] #location块{ .....} }upstream xxoo{负载均衡模块}... #http全局块}# stream段的配置要与http段在同级目录。此处引用的为官方nginx说明配置。
stream
{upstream xxoo {}server{}}
1、全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。
2、events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。
3、http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。
4、server块:配置虚拟主机的相关参数,一个http中可以有多个server。
5、location块:配置请求的路由,以及各种页面的处理情况。
example------
########### 每个指令必须有分号结束。#################
#user administrator administrators; #配置用户或者组,默认为nobody nobody。
#worker_processes 2; #允许生成的进程数,默认为1
#pid /nginx/pid/nginx.pid; #指定nginx进程运行文件存放地址
error_log log/error.log debug; #制定日志路径,级别。这个设置可以放入全局块,http块,server块,级别以此为:debug|info|notice|warn|error|crit|alert|emerg
events {accept_mutex on; #设置网路连接序列化,防止惊群现象发生,默认为onmulti_accept on; #设置一个进程是否同时接受多个网络连接,默认为off#use epoll; #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventportworker_connections 1024; #最大连接数,默认为512
}
http
{include mime.types; #文件扩展名与文件类型映射表default_type application/octet-stream; #默认文件类型#charset utf-8; #默认编码server_names_hash_bucket_size 128; #服务器名字的hash表大小client_header_buffer_size 32k; #上传文件大小限制large_client_header_buffers 4 64k; #设定请求缓client_max_body_size 8m; #设定请求缓sendfile on; #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。autoindex on; #开启目录列表访问,合适下载服务器,默认关闭。tcp_nopush on; #防止网络阻塞tcp_nodelay on; #防止网络阻塞keepalive_timeout 120; #长连接超时时间,单位是秒#FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度。下面参数看字面意思都能理解。fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;fastcgi_buffer_size 64k;fastcgi_buffers 4 64k;fastcgi_busy_buffers_size 128k;fastcgi_temp_file_write_size 128k;#gzip模块设置gzip on; #开启gzip压缩输出gzip_min_length 1k; #最小压缩文件大小gzip_buffers 4 16k; #压缩缓冲区gzip_http_version 1.0; #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)gzip_comp_level 2; #压缩等级gzip_types text/plain application/x-javascript text/css application/xml;#压缩类型,默认就已经包含text/html,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。gzip_vary on;#limit_zone crawler $binary_remote_addr 10m; #开启限制IP连接数的时候需要使用#定义本虚拟主机的访问日志access_log /var/log/nginx/ha97access.log access;#日志格式设定log_format access ‘$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 www.ha97.com ha97.com;index index.html index.htm index.php;root /data/www/ha97;location ~ .*\.(php|php5)?${fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;include fastcgi.conf;}#图片缓存时间设置location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${expires 10d;}#JS和CSS缓存时间设置location ~ .*\.(js|css)?${expires 1h;}# 对 “/” 启用反向代理location / {proxy_pass xxoo; # 分发到upstream 对应的xxoo中proxy_redirect off;proxy_set_header X-Real-IP $remote_addr;#后端的Web服务器可以通过X-Forwarded-For获取用户真实IPproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#以下是一些反向代理的配置,可选。proxy_set_header Host $host;client_max_body_size 10m; #允许客户端请求的最大单文件字节数client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数,proxy_connect_timeout 90; #nginx跟后端服务器连接超时时间(代理连接超时)proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时)proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接收超时)proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的设置proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)proxy_temp_file_write_size 64k;#设定缓存文件夹大小,大于这个值,将从upstream服务器传}#设定查看Nginx状态的地址location /NginxStatus {stub_status on;access_log on;auth_basic “NginxStatus”;auth_basic_user_file conf/htpasswd;#htpasswd文件的内容可以用apache提供的htpasswd工具来产生。}}#分发请求模块upstream xxoo {#upstream的负载均衡,weight是权重,可以根据机器配置定义权重。weigth参数表示权值,权值越高被分配到的几率越大。hash $remote_addr consistent; #一致性hash即使权重之和出问题也不会调度也不会乱套 可解决session 不一致问题server 192.168.80.121:80 weight=3 max_fails=3 fail_timeout=5s;server 192.168.80.122:80 weight=2 max_fails=3 fail_timeout=5s;server 192.168.80.123:80 weight=3 max_fails=3 fail_timeout=5s;}} # stream段的配置要与http段在同级目录。此处引用的为官方nginx说明配置。
stream
{# 配置分发服务器#upstream mdmsocket {hash $remote_addr consistent;server emmin-1:8443 weight=5 max_fails=3 fail_timeout=30s;server emmin-2:8443 weight=5 max_fails=3 fail_timeout=30s;}## TCP server configuration#server {listen 28443 so_keepalive=on;proxy_connect_timeout 1s;proxy_timeout 300s;proxy_pass mdmsocket;}}
日志格式设置。
$remote_addr与$http_x_forwarded_for用以记录客户端的ip地址;
$remote_user:用来记录客户端用户名称;
$time_local: 用来记录访问时间与时区;
$request: 用来记录请求的url与http协议;
$status: 用来记录请求状态;成功是200,
$body_bytes_sent :记录发送给客户端文件主体内容大小;
$http_referer:用来记录从那个页面链接访问过来的;
$http_user_agent:记录客户浏览器的相关信息;
Centos Nginx配置详解相关推荐
- 分布式应用Nginx配置详解
分布式应用Nginx配置详解 Nginx基本介绍 Nginx安装 安装依赖 安装openssl 安装pcre 安装zlib 安装Nginx Nginx负载均衡 负载均衡配置 失败重试配置 Nginx限 ...
- Nginx配置详解/代理服务的配置说明
Nginx配置详解 序言 Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的.从2004年发布至今,凭借开源的力量,已经接近成熟与完善. Nginx功能丰富,可作 ...
- 前端必备 Nginx 配置详解
前端开发者必备的nginx知识 nginx在应用程序中的作用 解决跨域 请求过滤 配置gzip 负载均衡 静态资源服务器 nginx是一个高性能的HTTP和反向代理服务器,也是一个通用的TCP/UDP ...
- Nginx配置详解与示例
Nginx配置详解 #定义Nginx运行的用户和用户组 user www www;#nginx进程数,建议设置为等于CPU总核心数. worker_processes 8;#全局错误日志定义类型,[ ...
- apache 更改默认网站目录 及 CentOS Apache配置详解
apache 更改默认网站目录: 1:我们测试把默认网站目录改到root家目录下 新建/root/website目录 #mkdir -p /root/website #echo "websi ...
- nginx配置详解,完全卸载nginx, nginx https配置
nginx 配置文件详解 文章目录 nginx 配置文件详解 Ubuntu nginx 目录结构 nginx 配置文件结构 默认nginx.conf( (1.18.0版本) location详解,pr ...
- nginx配置详解,nginx跨域问题
文章目录 前言 更改hosts文件 新增velocityerp.top.conf配置文件 nginx配置header参数(解决跨域),接口方配置 nginx反向代理(解决跨域),发送方配置 nginx ...
- nginx配置详解1
Nginx 配置文件详解 user nginx ; #用户 worker_processes 8; #工作进程,根据硬件调整,大于等于cpu核数 error_log logs/nginx_error. ...
- JAVA开发与运维(Nginx配置详解)
对于Nginx的使用,最重要的是理解每个配置项的作用.所以一份详细的Nginx的配置对于JAVA开发和运维尤为重要.我们一般使用两个Nginx配置文件对Nginx进行配置,一个是公共文件nginx.c ...
最新文章
- 优雅地记录http请求和响应的数据
- Ajax 完整教程(转载)
- C语言读入文件全部内容的方法
- asp.net application,session,static 几种变量生命周期及用法 收藏
- 【数据结构】KMP算法(c语言)
- SPSS操作(四):系统聚类分析
- 排除MySQL中常见错误的实用招术
- select, poll, epoll
- 大数据在人工智能机器人的实践应用
- php checkbox表单提交,HTML表单Checkbox的值如何正确提交到PHP后台?,需要技巧
- hdu 5402 Travelling Salesman Problem (技巧,未写完)
- 《跟我学Shiro》——张开涛(链接)
- 接口测试如何生成随机的参数值
- Dell台式计算机BIOS放电,戴尔bios设置电池修复 笔记本电脑电池bios设置图解方法...
- mysql和5g有关系吗_5g和4g有何不同
- javascript 实现英文首字母大写
- STM32单片机和51单片机有何区别?
- python操作网页flash视频_selenium自动化过程中如何操作Flash动画
- DevOps落地实践:BAT系列:敏捷看板:iCafe vs Tapd
- 智能照明控制系统在城市夜景照明工程中的应用