NGINX - 技术教程文章

探究 Nginx 中 reload 流程的真相【图】

今天这篇文章主要来介绍下 Nginx 的 reload 流程。实际上在之前文章中,在更改了 nginx 配置文件时,我们都会执行 nginx -s reload 命令,我们执行这条命令的原因是希望 nginx 不停止服务始终在处理新的请求的同时把 nginx 的配置文件平滑的把旧的 nginx.conf 配置更新为新的 nginx.conf 配置。 这样一个功能对于 nginx 非常有必要,但是有时候我们会发现在执行 nginx -s reload 命令后,worker 子进程的数量会变多了,这是因为老的...

Nginx在window环境下设置二级访问目录【图】

简介Nginx 主要的作用就是反向代理和负载均衡了,一般在互联网公司内,作为负载均衡比较多。但是别忘了,它的一个主要用途还有反向代理。在这里,我们就通过反向代理来使得隐藏端口,二级目录的形式访问这些服务器应用吧。配置1、打开nginx.conf文件2、在http 中添加  upstream xx {   server localhost; }  如果是本地环境,localhost可以是127.0.0.1,如果是外网环境直接域名或者ip即可;3、再起一个server 端口假...

Centos 7.2 安装配置 Nginx、PHP7、Mysql、JDK、Tomcat、Redis、【代码】

Centos 7.2 安装配置 Nginx、PHP7、Mysql、JDK、Tomcat、Redis、RAP 以下操作均在阿里云 ECS(Centos 7.2)环境下执行,其他系统环境可能会有些许差别,仅供参考软件更新由于系统驱动的兼容性等问题,当前云服务器 ECS Linux 不支持内核升级操作(更多相关说明,可以参阅 ECS 使用须知)。一般拿到一台新的服务器,我喜欢先进行软件升级。阿里云ECS不建议升级服务器的内核和操作系统版本,所以,在进行系统软件更新操作时,应该将其...

nginx+uwsgi+flask搭建python-web应用程序【代码】

Flask本身就可以直接启动HTTP服务器,但是受限于管理、部署、性能等问题,在生产环境中,我们一般不会使用Flask自身所带的HTTP服务器。从现在已有的实践来看,对于Flask,比较好的部署方式是使用uWSGI做WSGI容器,Nginx做前端服务器。这样做的好处在于:1. uWSGI性能好,提供的功能也很多,运维方便。2. Nginx对于静态文件处理较好,而且默认支持uWSGI协议,在负载均衡和压力控制上都可以很方便的实现。现在说一下具体的部署步骤:...

Linux下编译安装nginx

1.下载安装包cd/usr/local/srcwgetftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gzhttp://zlib.net/zlib-1.2.8.tar.gz http://nginx.org/download/nginx-1.9.2.tar.gzhttp://nginx.org/download/nginx-1.9.2.tar.gz 2.安装PCRE库及zlib库 tar -zxvf pcre-8.37.tar.gz && tar-zxvf zlib-1.2.8.tar.gz nginx-1.9.2.tar.gz cd pcre-8.37 ls ./configure && make && makeinstall cd ../zlib-1.2.8 ./configur...

nginx反向代理- b域名访问a域名【代码】

server {listen 80;server_name A.com;location /{proxy_pass https://B.com/asi/;}location ^~/web/ {proxy_pass https://B.com/web/;}} 原文:https://www.cnblogs.com/todarcy/p/12603347.html

docker应用栈实践-nginx处理静态文件【图】

在我的djangoweb应用在docker搭建好之后,发现一些css静态文件返回的content-type不对,强迫症的我受不了这一情况 原文:https://www.cnblogs.com/superpigeons/p/9204398.html

Nginx——配置文件服务下载【代码】【图】

前言只是临时搭建的一个下载服务,所以就直接用nginx来咯步骤解析域名将域名解析到要部署应用对应的服务器,就是个解析操作,没啥好讲的创建目录# mkdir /data/install/配置NGINX配置并重新载入配置文件# vi /usr/local/nginx/conf/nginx.conflocation /myfiles {alias /data/install/; # 文件存放目录要以 '/' 结尾;index index.html; autoindex on; # 自动列出目录下的文件;autoindex_exact_size off...

nginx学习笔记一 : IO模型及nginx【代码】【图】

Nginx:web服务器:http协议;http协议:html, MIME(多用途互联网邮件扩展)major/minor :text/html, text/plain, image/jpeg,..web资源:URL ( scheme://server: port/path/to/source) http:80 https:443方法 :GET, HEAD, POST,PUT,DELETE, TRACE, OPTIONS,...WEBDAVhttp事务:request<-->responserequest:<metchod><URL><version>...<body>response :<version><status><reason phrase><HEADERS>...<body> status:1xx : 信息类2...

搭建nginx服务器【图】

原文:http://blog.51cto.com/jiazuzhao/2071179

Nginx常用功能【图】

一、Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。这里我给来2张图,对正向代理与反响代理做个诠释,具体细节,大家可以翻阅下资料。Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器,只要你正则写的没问题,又有相对应的服务器解决方案,你就可以随心所欲的玩。并且Nginx对...

同步异步,阻塞非阻塞 和nginx的IO模型【图】

同步与异步同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)。所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由*调用者*主动等待这个*调用*的结果。而异步则是相反,*调用*在发出之后,这个调用就直接返回了,所以没有返回结果。换句话说,当一个异步过程调用发出后,调用者不会立刻得到结果。而是在*调用*...

nginx一键安装脚本

#!/bin/shecho "----------------------------------start install nginx -----------------------------"yum install -y gcc-c++ zlib zlib-devel openssl openssl--devel pcre pcre-develif [ ‘grep "nginx" /etc/passwd | wc -l‘ ]; thenecho "adding user nginx"groupadd nginxuseradd -s /sbin/nologin -M -g nginx nginxelseecho "user nginx exsits"fi echo "-----------------------------------downloading nginx------...

【转】vue项目打包部署——nginx代理访问【图】

我又来了,今天部署了下vue项目,使用nginx做了代理,这样可以解决跨域的问题,这里做一个简单讲解。1.先看vue项目打包(我这里使用的是vscode开发工具)这里是我的项目结构:打包之前需要修改如下配置文件:配置文件一:build>>utils.js (修改publicPath:"../../" , 这样写是处理打包后找不到静态文件的问题)配置文件二:config>>index.js(修改assetsPublicPath:‘./‘ ,修改目的是为了解决js找不到的问题)上面两步修改完成之后就...

Nginx配置文件变量大全【代码】

$args# 这个变量等于请求行中的参数。$binary_remote_addr# 远程地址的二进制表示$body_bytes_sent# 已发送的消息体字节数$content_length# 请求头中的Content-length字段$content_type# 请求头中的Content-Type字段$document_uri# 与$uri相同$document_root# 当前请求在root指令中指定的值$host# 请求主机头字段,否则为服务器名称$http_user_agent# 客户端agent信息$http_cookie# 客户端cookie信息$http_referer# 引用地址$http_...

yum安装Nginx全流程指南【代码】

作者:三十三重天博客:http://www.zhouhuibo.club通过学习和分享的过程,将自己工作中的问题和技术总结输出,希望菜鸟和老鸟都能通过自己的文章收获新的知识,并付诸实施。引言任何事物一旦有偷懒的方式,那绝对是选择最能偷懒的方式去做。我对工具软件的安装也遵循这一原理。网上有很多Nginx的安装指南,大概可以分为俩种类型,一种是源码安装,一种是yum安装。我比较倾向于yum安装方式,因为可以偷懒,几个命令就搞定的事情,整...

011商城项目:图片服务器的安装---nginx【图】

这个是电商的项目,不是传统项目,所以给图片单独架一台服务器。我们看上图:用户上传图片时上传到Tomcat1或者Tomcat2.然后Tomcat1和Tomcat2通过FTP服务把图片上传到图片服务器上。然后用户请求图片时直接到图片服务器上去拿,这就要求图片服务器能实现http传输。所以我们安转了Nginx服务器。同时为了能让Tomcat1和Tomcat2能把图片发送到Nginx服务器上,我们需要实现Ftp功能。 我们在linux上安转nginx。如下:第一步:通过SecureCR...

Nginx配置文件优化详解【代码】

Nginx配置文件优化详解对nginx进行优化是重点也是难点,这里给出一些常用的优化措施,以及相关参数的所代表的意思。有些参数需要结合公司服务器进行设置。全局变量的优化:#定义Nginx运行的用户和用户组user www www; #启动进程,通常设置成和cpu的数量相等 worker_processes 8; #为每个进程分配cpu。 worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; #该指令是当一个nginx进...

nginx安装及配置优化

安装环境:centos6.5 64位nginx版本:nginx-1.4.7一、安装安装必要软件 pcre和openssl为了支持rewrite功能,我们需要安装pcretar zxvf pcre-8.31.tar.gzcd pcre-8.31./configure && make&& make install 为了ssl支持,需要安装openssl yum -y install openssl*2.安装nginx解压:tar -zxvf nginx-1.4.7.tar.gz配置:cd nginx-1.4.7./configure --prefix=/home/server/nginx --with-pcre=/root/soft/pcre-8.31 --with-http_ssl_...

Nginx报Primary script unknown的错误解决

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;改成红色部分变量root /usr/local/nginx/html;把root节点提前到location上面原文:https://www.cnblogs.com/EasonJim/p/9615042.html

Nginx部署多个vue前端项目【代码】【图】

前言:在前端项目的部署上需要让2个前端项目都部署到一个IP地址和端口下,那么我们这里就要用到Nginx了,接下来我们看看如何在一个Nginx下部署2个前端项目。例如我的服务器地址是http://1.116.33.31/那么则是访问的pc项目首页,则是访问的app项目首页 一,首先打包编译两个前端项目(base基础路径)pc项目base默认不写,也就是 1.116.33.31/ app项目base:‘/app/‘,也就是http://1.116.33.31/app/二,把打包生成的静态文件上传到...

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

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

nginx的upstream目前支持5种方式的分配(转)

nginx的upstream目前支持5种方式的分配 1、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 2、weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 例如: upstream bakend { server 192.168.0.14 weight=10; server 192.168.0.15 weight=10; } 3、ip_hash 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问...

Nginx 配置https【代码】

1、准备好网站域名的https证书,后缀名如下,上传到服务器上。 xxx.pem xxx.key 2、配置nginx.confserver {listen 443 ssl;server_name scm.xxx.com;ssl on;ssl_certificate ./cert/cert.pem;#证书pem位置ssl_certificate_key ./cert/cert.key;#证书key的路径ssl_session_timeout 5m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_pre...

Nginx gzip配置

# 开启gzip gzip on; # 启用gzip压缩的最小文件,小于设置值的文件将不会压缩 gzip_min_length 1k; # gzip 压缩级别,1-9,数字越大压缩的越好,也越占用CPU时间,后面会有详细说明 gzip_comp_level 1; # 进行压缩的文件类型。javascript有多种形式。其中的值可以在 mime.types 文件中找到。gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript appl...

nginx mac 10.10 编译报错

/os/unix -I ../pcre-8.36 -I objs \-o objs/src/core/ngx_crypt.o \src/core/ngx_crypt.csrc/core/ngx_crypt.c:82:5: error: ‘MD5_Init‘ is deprecated: first deprecated in OS X 10.7 [-Werror,-Wdeprecated-declarations] ngx_md5_init(&md5); ^src/core/ngx_md5.h:30:25: note: expanded from macro ‘ngx_md5_init‘#define ngx_md5_init MD5_Init ^/usr/include/openssl/md5.h:113:...

Nginx range filter模块数字错误漏洞修复 (Nginx平滑升级) 【转】【代码】

对线上生产环境服务器进行漏洞扫描, 发现有两台前置机器存在Nginx range filter模块数字错误漏洞, 当使用nginx标准模块时,攻击者可以通过发送包含恶意构造range域的header 请求,来获取响应中的缓存文件头部信息。该漏洞存在于Nginx 1.13.3以下版本中, 只要Ningx开启了缓存功能, 攻击者即可发送恶意请求进行远程攻击造成信息泄露。也就是说当Nginx服务器使用代理缓存的情况下, 缓存文件头可能包含后端服务器的真实IP地址或其它敏感...

阿里云Linux CentOS8.1 64位服务器安装LNMP(Linux+Nginx+MySQL+PHP) 之 并发调试(二)【代码】

搭建好LNMP之后,接着要考虑的就是整个系统的并发能力了。一、Nginx的配置Nginx有很好的并发能力。但是要想使它的并发能力能够施展出来,需要在初步安装好的Nginx上做一些配置才能支持比较高的并发。主要需要修改的一些配置有:1.nginx进程数,建议按照cpu数目来指定,一般跟cpu核数相同或为它的倍数。 worker_processes 8; 2.为每个进程分配cpu,上例中将8个进程分配到8个cpu。 worker_cpu_affinity 00000001 00000010 00000100 0...

nginx代理前端项目【代码】

注意1.只能有一个root, 其他用alias2.try_files是在找不到路由的时候跳转到的页面,跳转到index.html表示将路由交给前端页面(框架)处理 location / {root /home/hadoop/twd-ui;index index.html index.htm;try_files $uri $uri/ /index.html;}location /jr {alias /home/hadoop/twd-ui-yuxi-jd/;index index.html index.htm;try_files $uri $uri/ /jr/index.html;} 原文:https://www.cnblogs.com/yoyogis/p/11751362.ht...

为PHP设置服务器(Apache/Nginx)环境变量【代码】

为PHP设置服务器(Apache/Nginx)环境变量 设置环境变量常见的地方为区分开发环境/生产环境,或者定义一些数据库的帐号密码 设置Apache环境变量 指令 设置当前环境变量为DEV SetEnv RUNTIME_ENVIROMENT DEV 数据库帐号密码 SetEnv MYSQL_USERNAME root SetEnv MYSQL_PASSWORD root 配置文件格式 <VirtualHost *:80>ServerAdmin admin@admin.comDocumentRoot "/var/www/"ServerName localhostSetEnv RUNTIME_ENVIROMENT DEVSetEnv...