一.什么是Nginx:

  Nginx是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务。

二.Nginx作用:

  反向代理,集群,虚拟服务器,负载均衡,动静分离,解决跨域问题等

三.安装Nginx:

  1.链接 https://nginx.org/en/download.html,如下

    

  2.linux和windows版本下载完后解压(windows版本解压即可)

  以linux为例,解压后得到

    

  3.进入文件夹后可以看到目录

    

  4.执行

./configure

  5.如果出现错误如下,则

    

      (1)安装编译工具及库文件

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

      (2)安装PCRE,链接https://sourceforge.net/projects/pcre/files/pcre/

        下载PRCE安装包并解压,例如下图

        

        进入解压后的文件夹,找到configure并执行

cd prce-8.43.tar.gz
./configure

        安装并查看prce版本

make && make install
pcre-config --version

  6.再次进入nginx-1.14.2文件夹,执行

./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.43

  7.再执行make(注意上面那行代码,这里默认会去找/usr/local/src/ 下的prce-8.43文件夹),然后make install完成安装。

  8.查看nginx版本(上面指定的目录)

/usr/local/webserver/nginx/sbin/nginx -v

  例如

    

  9.启动nginx,进入第6步中--prefix所指定的文件夹中,再进入sbin文价夹中,执行./nginx

    (在nginx文件夹中重启是./nginx -s reopen)

  10.查看nginx是否启动,例如

    

  nginx默认端口是80,所以直接访问ip地址,例如下图所示,即可知nginx启动成功

    

四.使用Nginx

  

  1.静态资源文件夹里的文件可以直接在外部访问,例如

    

  2.实现反向代理(可以不暴露真实IP地址)

    修改nginx.conf配置文件

      

    注意:上面那个箭头指向的地址,必须在主机hosts文件中设置地址映射(域名解析),如下图

      

  重新加载配置文件

./nginx -s reload

  测试:

    

  如果反向代理没有成功,可以查看log日志,找到并进入logs文件夹,输入

cat error.log

  例如下图

    

  如果发现正常启动成功,却没有成功配置反向代理。可以看看是否是自己修改了正确的配置文件(注意,nginx解压后的conf文件夹中有一个配置文件,而nginx启动目录下的文件夹中有一个nginx.conf配置文件,还有一个nginx.conf.default配置文件,可以试着将三个配置文件都修改试试,如果是按照上面安装步骤,应该是只修改的是/usr/local/webserver/nginx/conf中的nginx.conf)

  3.实现集群(使用nginx实现负载均衡)

    负载均衡算法:

      轮询机制:在配置文件http中添加 (请求会轮流转发到129和130两个服务器的tomcat服务器)

upstream backserver { 
server 192.168.2.129:8080; 
server 192.168.2.130:8080; 

      注意:proxy_pass指向的是backserver ,如http://backserver

      权重(比例分配):

upstream backserver { 
server 192.168.2.129:8080 weight=10; //129访问10次,130访问一次
server 192.168.2.130:8080 weight=1; 

      IP绑定:(随机绑定一个,而且绑定后一个ip地址就固定访问一个服务器了,可以解决session共享问题,可一旦该服务器挂了,会出现数据丢失)

upstream backserver { 
ip_hash; 
server 192.168.2.129:8080; 
server 192.168.2.130:8080; 

  4.Nginx宕机容错机制

    通过上述安装的Nginx默认是开启宕机容错机制的,比如说上面集群中server 192.168.2.129:8080挂掉,它会自动找130的服务器

    如果想要添加宕机容错规则的话,可以在配置文件中的proxy_pass下面添加

proxy_connect_timeout ; #最大连接时间
proxy_send_timeout ; #最大发送时间
proxy_read_timeout ; #最大读取时间

Nginx从安装到简单使用的更多相关文章

  1. nginx的安装及简单负载均衡配置

    Nginx 是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性.本人目前所在公司也使用nginx,主要用来做负载均衡服务器.同时也可以作为邮件代理服务器. 1. nginx的安装.本 ...

  2. Nginx的安装及简单配置

    Nginx安装 1.下载相关组件 yum install -y gcc gcc-c++                                   #安装C/C++编译器 yum -y ins ...

  3. nginx 编译安装以及简单配置

    前言 Nginx的大名如雷贯耳,资料太多了,网上一搜一大把,所以这里就不阐述nginx的工作原理了,只是简单的编译安装nginx,然后呢,简单配置一下下. 下载Nginx.安装 下载地址:http:/ ...

  4. ECS centos6.8系统下从nginx安装到简单网站上线配置操作的完整记录

    1.准备工作 1.1已购买阿里云云服务器ECS 1.2域名已购买并解析成功 1.3安装有远程链接工具Xshell和文件传输工具Xftf,并链接上ECS实例 2.安装nginx(在Xshell操作) 2 ...

  5. Nginx + ngx_lua安装测试【CentOs下】

          最近打算搞搞nginx,扒着各位先驱的文章自己进行测试下,中间过程也是错误不断,记录一下,以备使用.       nginx的安装挺简单的,主要还是研究下一些第三方的模块,首先想试下初始化 ...

  6. 快速掌握Nginx(一) —— 安装Nginx和简单配置虚拟主机

    Nginx安装和简单配置虚拟主机 1 Nginx简介 Nginx是近几年最火热的http.反向代理服务器,百度阿里等互联网公司也都在使用Nginx,它也可以用作邮件代理服务器.TCP/UDP代理服务器 ...

  7. nginx之旅:安装及简单部署

    安装之前最好了解一下nginx,参考nginx百度百科吧,下面这一句话基本概括了nginx的基本功能 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理  ...

  8. Nginx在linux下安装及简单命令

    安装环境:Centos7 创建目录及切换至目录 # mkdir /usr/local/nginx # cd /usr/local/nginx/ 下载nginx包,访问http://nginx.org下 ...

  9. nginx的安装

    1,,nginx的安装 为什么使用nginx我就不多说了,很优秀的,请再行google 在安装前,先安装pcre,安装zlib,安装openssl,以及一些其他包 yum install -y gcc ...

随机推荐

  1. 算法习题---3.12浮点数(UVa11809)

    一:题目 尴尬的非会员水印 二:题目摘要 1.int和float比较 int共32位,可以表示的最大的数为2^32次方 float虽然也是32位,但是是以指数形式保存,指数占8位(含符号),最大127 ...

  2. django:bootstrap table加载django返回的数据

    bootstrap table加载表格数据有两类方式: 一种通过data属性的方式配置,一种是javascipt方式配置 这里看js配置方式: 1.当数据源为.json文件时 url参数写上json文 ...

  3. hadoop学习之路1--centos7群集安装

    一.              安装centos7 1.  设置硬盘为单文件40G.CPU 2核.内存2G.其他默认. 2.  安装时选择gnome,具备操作界面,并增加hadoop的账号. a)   ...

  4. 粒子系统与雨的效果 (DirectX11 with Windows SDK)

    前言 最近在学粒子系统,看这之前的<<3D图形编程基础 基于DirectX 11 >>是基于Direct SDK的,而DXSDK微软已经很久没有更新过了并且我学的DX11是用W ...

  5. 跨域及jsonp

    什么是跨域? 要解释跨域,就要先说明下什么是域?域的英文名是Domain,百度百科给的定义是: 域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust ...

  6. 使用pycharm调试django 打断点调试后台代码

    第一步 第二步 第三步 第四步 Script path:C:\pythonProject\Code\mysite\manage.py Parameters: runserver 远程访问的话 远程调试 ...

  7. 网站架构(LNMP)

    说明: 1)LNMP架构的组成(作用) 2)LNMP架构的部署 3)LNMP架构通讯原理 4)LNMP服务之间如何建立管理 nginx+php   运维负责 php+mysql   开发负责 5) 运 ...

  8. react native 中 Demensions的坑

    简单描述下碰到的问题:Demensions.get('window').height,一般拿来获取屏幕高度的.但是在小米mix3上面(其他安卓机型可能也会有)无论底部的虚拟物理键盘显示与否(底部的返回 ...

  9. 生成 n 个不同的随机数且随机数区间为 [0,n)

    生成 n 个不同的随机数且随机数区间为 [0,n) Java 实现 import java.util.ArrayList; import java.util.List; import java.uti ...

  10. 如何解决error: failed to push some refs

    $ git push -u origin master To github.com:a653398363/testtest.git ! [rejected] master -> master ( ...