NGINX - 技术教程文章

nginx 安全笔记 (修改nginx的header信息和错误显示版本号)

随笔记载,欢迎指正:修改nginx的header信息和错误显示版本号1.隐藏版本号:nginx的配置文件nginx.conf找到http栏目加入:server_tokens off;2.修改显示nginx的名称需要修改源码文件:/opt/soft/nginx-1.2.0/src/http/ngx_http_special_response.cvi /opt/soft/nginx-1.2.0/src/http/ngx_http_special_response.c找到29行: 29 "<hr><center>LLSERVER</center>" CRLF ##修改成需要的名称 /opt/soft/nginx-1.2.0/src/http/ngx_http...

nginx访问日志、Nginx日志切割、 静态文件不记录日志和过期时间

一:nginx访问日志 日志格式vim /usr/local/nginx/conf/nginx.conf //搜索log_format$remote_addr 客户端ip(公网ip)$http_x_forwarded_for 代理服务器的ip$time_local 服务器本地时间$host 访问主机名(域名)$request_uri 访问的url地址$status 状态码$http_referer referer$http_user_agent user_agent除了在主配置...

Nginx 设置负载均衡【代码】

1. 在nginx配置文件目录下另外单独创建一个文件用于管理负载均衡配置,这里起名为 fzjh.confvim /etc/nginx/fzjh.conf #在文件下添加以下内容upstream mypro{ #这里可以随意命名,待选服务器列表ip_hash; #开启ip_hash模式,确保同一个用户每次访问到的主机一样server 104.193.88.77 weight=2; #添加第一台服务器 weight用于设置权重server 66.102.251.33 weight=1; #添加第二台...

Nginx 转发图片【代码】

Nginx的下载安装这里就不赘述了, 在Nginx的配置文件nginx.conf 或者 自定义的配置文件中加入如下配置。server {listen 443;server_name 10.44.99.10;access_log /data/wwwlogs/access_nginx.log combined;root /data/wwwroot/default;index index.html index.htm index.php; ?# ~ :波浪线表示开启正则匹配并区分大小写,后面跟的是正则表达式location ~ .*\.(gif|jpg|jpeg|png)$ {root /opt/image/; # 这里的root是固定,并不是...

nginx之热部署,以及版本回滚

热部署的概念:当从老版本替换为新版本的nginx的时候,如果不热部署的话,会需要取消nginx服务并重启服务才能替换成功,这样的话会使正在访问的用户在断开连接,所以为了不影响用户的体验,且需要版本升级,就需要热部署来升级版本 版本回滚的概念:当新版本上线之后出现问题,需要回到老版本,这时候就需要做版本回滚,其实就是在你做版本升级的时候,将老版本备份以下,然后替换新版本,之后杀死新版本的进程便可以 实验步骤:1:...

nginx之location配置

语法规则: location [=|~|~*|^~] /uri/ { … }= 开头表示精确匹配^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。~ 开头表示区分大小写的正则匹配~* 开头表示不区分大小写的正则匹配!~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则/ 通用匹配,任何请求都会匹配到。多个location配置的情况下匹配顺序为...

nginx 搭建文件服务器(上传、下载)【代码】

nginx 搭建下载服务器一:配置 default.confserver {listen 80;server_name localhost;charset utf-8;#access_log /var/log/nginx/host.access.log main;location / {#root /usr/share/nginx/html;#index index.html index.htm;root /home/jingxiang;autoindex on; #开启索引功能autoindex_exact_size off; #关闭计算文件确切大小(单位bytes),只显示大概大小(单位kb、mb、gb)autoindex_localtime on; #显示...

Nginx简介【图】

一、反向代理工作流程用户通过域名发出访问Web服务器的请求,该域名被DNS服务器解析为反向代理服务器的IP地址;反向代理服务器接受用户的请求;反向代理服务器在本地缓存中查找请求的内容,找到后直接把内容发送给用户;如果本地缓存里没有用户所请求的信息内容,反向代理服务器会代替用户向源服务器请求同样的信息内容,并把信息内容发给用户,如果信息内容是缓存的还会把它保存到缓存中。优点:保护了真实的web服务器,保证了web...

2-How nginx processes a request【代码】

原文:http://nginx.org/en/docs/http/request_processing.htmlserver_name directive 参考:http://nginx.org/en/docs/http/server_names.htmlName-based virtual serversnginx first decides which server should process the request. Let’s start with a simple configuration where all three virtual servers listen on port *:80:server {listen 80;server_name example.org www.example.org;... }server {listen ...

nginx配置详解与优化

user nobody nobody; nginx worker进程运行的用户属主属组worker_processes auto;work进程的个数 ,通常其数值应该为cpu的物理核心数减1error_log logs/nginx_error.log crit;错误日志文件及其级别pid logs/nginx.pid;pid文件所在的目录worker_rlimit_nofile 65535;这个指令是指当一个nginx worker进程打开的最多文件描述符数目即句柄数,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不...

基于Storm的Nginx log实时监控系统【图】

背景 UAE(UC App Engine)是一个UC内部的PaaS平台,总体架构有点类似CloudFoundry,包括: 快速部署:支持Node.js、Play!、PHP等框架 信息透明:运维过程、系统状态、业务状况 灰度试错:IP灰度、地域灰度 基础服务:key-value存储、MySQL高可用、图片平台等 这里它不是主角,不作详细介绍。 有数百个Web应用运行在UAE上,所有的请求都会经过UAE的路由,每天的Nginx access log大小是TB级,如何实时监控每个业务的访问趋势、...

搭建nginx服务器nginx-1.6.2.tar.gz【图】

一、实验环境 CentOS6.5 软件:nginx-1.6.2.tar.gz 二、实验步骤 1)安装nginx所依赖的软件 yum -y install pcre pcre-devel yum -y install openssl openssl-devel rpm -qa pcre pcre-devel openssl openssl-devel 2)创建nginx用户,指定shell类型,并且不创建家目录useradd nginx -s /sbin/nologin/ -M 如未添加用户会有如下报错:nginx: [emerg] getpwnam("nginx") failednginx: configuration file /application/ngi...

Nginx增加模块【图】

最后先备份下nginx的目录 已经安装编译安装好的Nginx650) this.width=650;" src="/upload/getfiles/default/2022/11/11/20221111062449296.jpg" title="图片2.png" /> 查看之前编译时的参数650) this.width=650;" src="/upload/getfiles/default/2022/11/11/20221111062449563.jpg" title="图片3.png" /> 黑色部分是我之前编译的参数(红色部分是我要增加编译的模块)./configure\ --user=www --group=www\ --prefix=/usr/local/n...

Nginx网站服务

1、Nginx:高性能、轻量级网站服务器稳定、资源消耗低并发能力强不能直接支持动态网页2、Nginx的安装--with-http_stub_status_module 添加状态统计模块检查nginx语法: nginx -t启动nginx: nginx重新加载nginx: killall -s HUP nginx退出nginx: killall -s QUIT nginx杀死nginx: kiallall -s KILL nginx3、主配置文件...

nginx开机自动启动服务

生产服务器:OS:CentOS 6.81. 在该目录下”/etc/init.d”新建一个nginx文件,添加下列代码。[root@localhost init.d]# vi nginx[root@localhost init.d]# cat nginx #nginx Startup script for the Nginx HTTP Server# it is v.0.0.2 version.# chkconfig: - 85 15# description: Nginx is a high-performance web and proxy server.# It has a lot of features, but it‘s not for everyone.# processname: nginx# pidfile: /va...

【CentOS】CentOS下安装Nginx

1.确认下面内容(管理员权限)yum install gccyum install pcre pcre-develyum install zlib zlib-develyum install openssl openssl-devel2.下载Nginx,选择稳定版(Stable)目录:/usr/local命令:(1)wget http://nginx.org/download/nginx-1.18.0.tar.gz(2)tar -zxvf nginx-1.18.0.tar.gz(3)cd nginx-1.18.0(4)./configure(5)make && make install3.确认安装路径whereis nginx结果:/usr/local/nginx4. 启动 和 关闭(...

逐步把Nginx及Redis引入项目组之负载均衡技术调研初版总结【代码】【图】

本篇以一个Nginx服务、两个Tomcat服务、一个Redis搭建一个负载均衡环境,由于就一台电脑暂以随机分配client请求策略开展,详细工作中推荐以IP地址来实现client请求的动态负载策略。省局IP段发过来的请求单独一个Tomcat应对,其余全部分局IP段发来的请求通过有另外一个单独的Tomcat应付。 素材1:一个Redis节点,用来存储Seesion(跨进程共享)及缓存静态常量。 素材2:两个同一时候执行的Tomcat服务,每一个上面执行着一个简单的小...

nginx修改上传文件大小限制【代码】

自己搭的服务器,用nginx做代理。上传超过1M大的客户端文件无法正常上传,nginx直接报错,上传文件太大,于是修改了下nginx的配置,就可以了。 按照网上所说的加上client_max_body_size 字段,怎么重启nginx都不行。后来发现放的位置有问题!server {listen 80;server_name localhost;client_max_body_size 10M;location /web {alias D:/web;index main.html; }location /web/service {proxy_pass http://1...

Nginx负载均衡配置实例【图】

反向代理服务器 IP 192.168.8.64虚拟主机1 IP 192.168.10.191虚拟主机2 IP 192.168.10.1921.在反向代理服务器和两台虚拟主机 安装Nginx所需的pcre-devel库#tar jxvf pcre-4.2.tar.bz2#cd pcre-4.2#./configure &&make &&make install2.在反向代理服务器和两台虚拟主机 安装Nginx#tar zxvf nginx-1.4.7.tar.gz#cd nginx-1.4.7#./configure --with-http_stub_status_module --prefix=/opt/nginx#make && make install3.启动Nginx服务...

select与epoll、apache与nginx实现原理对比

https://www.tuicool.com/articles/AzmiY3 关于select与epoll两种IO模型,都属于多路IO就绪通知,提供了对大量文件描述符就绪检查的高性能方案,只不过实现方式有所不同:select:一个select()系统调用来监视包含多个文件描述符的数组,当select返回,该数组中就绪的文件描述符便会被内核修改标志位。select的 跨平台 做的很好,几乎每个平台都支持。select缺点有以下三点:单个进程能够 监视的文件描述符的数量存在最大限制select...

k8s nginx ingress配置TLS【代码】

在没有配置任何nginx下,k8s的nginx默认只支持TLS1.2,不支持TLS1.0和TLS1.1默认的 nginx-config(部分可能叫 nginx-configuration)的配置如下:apiVersion: v1 data:allow-backend-server-header: ‘true‘enable-underscores-in-headers: ‘true‘generate-request-id: ‘true‘http-redirect-code: ‘301‘ignore-invalid-headers: ‘true‘max-worker-connections: ‘65536‘proxy-body-size: 20mproxy-connect-timeout: ‘10...

nginx负载均衡向后台传递参数方法(后端也是nginx服务器)

做了一个网站是用nginx 做的负载均衡,后端也是多个nginx服务器遇到了一个问题,当做SSL支持时 前端nginx分发到 后端nginx后就成 http形式了(这样后台php用$_SERVER[HTTPS] == "on" 就无法判断了,但后台还必须要知道这个参数),如果改成https的话,还需要多个证书。所以就想让前端nginx 如果是 https 的话给后端传递一个参数。用在后台来判断和使用。首先前端nginx的 nginx.conf 文件中 用 proxy_set_header 设置一个参数urlpr...

ubuntu nginx安装

一.安装 下载源码,解压:tar -xzvf nginx-1.4.7.tar.gz ./configure make && make install 修改默认nginx的监听端口80为81 启动:/usr/local/nginx/sbin/nginx 停止:/usr/local/nginx/sbin/nginx -s stop 配置文件路径:/usr/local/nginx/conf/nginx.conf原文:http://blog.csdn.net/zhaozhenzuo/article/details/24955373

Flume采集Nginx日志到HDFS【代码】

下载apache-flume-1.7.0-bin.tar.gz,用tar -zxvf解压,在/etc/profile文件中增加设置:export FLUME_HOME=/opt/apache-flume-1.7.0-bin export PATH=$PATH:$FLUME_HOME/bin修改$FLUME_HOME/conf/下的两个文件,在flume-env.sh中增加JAVA_HOME:JAVA_HOME=/opt/jdk1.8.0_121最重要的,修改flume-conf.properties文件:# 配置Agent a1.sources = r1 a1.sinks = k1 a1.channels = c1# 配置Source a1.sources.r1.type = exec a1.sourc...

宿主机nginx使用容器php-fpm处理php请求【代码】【图】

宿主机Nginx使用php容器解析php请求环境说明首先,我在宿主机上已经运行了一个nginx[root@localhost html]# nginx -v nginx version: nginx/1.18.0 宿主机上也安装运行了docker[root@localhost html]# docker version Client: Docker Engine - CommunityVersion: 20.10.2 ... 需求:在docker里面运行php容器,然后用php容器来解析所有访问nginx的php请求。基于alpine定制php-fpm容器php官方基础镜像缺少很多扩展,一般情...

Linux下 nginx+tomcat配置https的总结和遇到的坑【代码】

证书的获取略服务器的端口443确保外界网络能够进行访问。是否配置https:nginx:是tomcat:否1.首先查看nginx是否支持SSL。参考链接: 实战http切换成https查看nginx支持SSL[root@ytkj bin]# /usr/local/nginx/sbin/nginx -V nginx version: nginx/1.13.3 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) built with OpenSSL 1.0.2k-fips 26 Jan 2017 TLS SNI support enabled configure arguments: --with-http_ssl_modu...

nginx+tomcat+memcache

nginx+tomcat+memcachenginx支持静态页面tomcat支持动态页面如果所在的nginx服务器想要进行动态页面则需与tomcat结合此时nginx只是起到转发的作用对jsp的处理是由tomcat来处理的。一 搭建jdk先搭建java环境1 tar zxf jdk-7u79-linux-x64.tar.gz -C /usr/local/ ###解压到/usr/local下###2 ln -s jdk1.7.0_79/ java ###软链接方便版本升级后的使用###3 vim /etc/profile ###/etc/profile是全局定义所有用...

配置NGINX支持中文URL 中文文件名或目录404无法访问的解决方法【代码】

Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的。为了帮助这两只...

高性能web服务器nginx---实战篇【图】

Nginx设计架构图:650) this.width=650;" src="/upload/getfiles/default/2022/11/13/20221113094106473.jpg" title="nginx-architecture.png" />2、安装 2.1 Nginx依赖关系yum install -y openssl-devel pcre-devel libevent 2.2 安装nginx依赖pcre库,使Nginx支持HTTP Rewrite模块tar xf pcre-VERSION.tar.gzcd pcre-VERSION./configuremake && make install 2.3 Nginx编译安装 # 添加Nginx系统用户useradd -r -s /sbin/nol...

ios http2客户端访问nginx失败bug【图】

我们将项目迁入腾讯云后,外网访问流量转发如下外网---》大禹BGP(BGPAntiDDoS)高防----》lbc(LoadBalance cluster)----》lb-----》projectios开发同事在用ios客户端访问项目发现请求失败,但是偶尔会成功。ios客户端访问默认http2,并且请求接口为post请求.根据如下定位了nginx版本对ios客户端的bug。原因:(为了减少网络时延,不少 HTTP/2 客户端会在建立 HTTP/2 连接时同时发送其它帧,包括用来 POST 数据的 DATA 帧。而 Ngin...