引言

为什么要学习Nginx

问题一: 客户端到底要将请求发送给哪台服务器?

问题二: 如果所有客户端的请求都发送给了服务器1,那另一台岂不是废了

问题三: 客户端发送的请求可能是申请动态资源的,也可能是申请静态资源的

在搭建集群后使用Nginx做反向代理服务器

Nginx介绍

Nginx是由俄罗斯研发的,应对Ramble的网站,并且2004年发布第一个版本

Nginx的特点:

  1. 稳定性机枪,7*24小时不间断运行
  2. Nginx提供了非常丰富的配置实例
  3. 占用内存小,并发能力强

Nginx的安装

使用docker-compose.yml安装Nginx

version: '3.1'
services:
nginx:
restart: always
image: daocloud.io/library/nginx:latest
container_name: nginx
ports:
- 81:80

在/opt/文件夹下创建一个docker_nginx文件夹

mkdir docker_nginx

在此文件夹下创建一个文件名为docker-compose.yml的文件将上面的复制进去,保存退出,在当前文件夹运行

docker-compose up -d

测试是否安装成功

这时使用浏览器访问ip地址:81显示如下即安装成功

Nginx的配置文件

位置: /etc/nginx/nginx.conf

user  nginx;
worker_processes 1; error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid; # 以上同城全局模块,
# worker_processes他的数值越大,Nginx的并发能力就越强
# error_log为错误日志
events {
worker_connections 1024;
}
#events块
#worker_connections他的数值越大,Nginx开发能力越强,上面这俩一般别动,专门的运维人员会操作 http {
include /etc/nginx/mime.types;
default_type application/octet-stream; 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 /var/log/nginx/access.log main; sendfile on;
#tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf;
}
#http块
#incloude代表引入一个外部的文件 -> /mine.types中放着大量的媒体类型
#最下面的incloude ->引入了conf.d目录下的以.conf为结尾的配置文件,这个才是我们该关注的
#如下,删除了#注释的内容,精简了一下
server {
listen 80;
listen [::]:80;
server_name localhost; location / {
root /usr/share/nginx/html;
index index.html index.htm;
} error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
127.0.0.1:9000
/scripts$fastcgi_script_name;
   #server块
#listen: 代表Nginx坚挺的端口号
#localhost : 代表Nginx接收请求的ip
#location块
#root:将接收到的请求根据/usr/share/nginx/html去查找静态资源
#index: 默认去上述的路径中找到index.html或者index.html
}

修改docker-compose文件

version: '3.1'
services:
nginx:
restart: always
image: daocloud.io/library/nginx:latest
container_name: nginx
ports:
- 81:80
volumes:
- /opt/docker_nginx/conf.d/:/etc/nginx/conf.d

首先退出刚才的容器

ctrl+c或者exit

关闭容器docker-compose down

编辑docker-compose.yml:vi docker-compose.yml

加上最后两行

再重新构建:docker-compose build

重新启动:docker-compose up -d

然后就会发现当前目录下会多一个conf.d的目录但是里面啥也没有

这时候刚才的网页就进不去了,因为没有server块,所以进行手动编辑一下

vi default.conf

将以下代码复制进去,这里不是yml文件所以格式么有什么要求分号结尾就行

server{
listen 80;
server_name localhost; location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}

重启一下:

回到yml文件所在目录dicker-compose restart

重启之后再次刷新浏览器,你又成功了!!!!

Nginx介绍,安装,配置的更多相关文章

  1. nginx php-fpm安装配置 CentOS编译安装php7.2

    CentOS编译安装php7.2 介绍: 久闻php7的速度以及性能那可是比php5系列的任何一版本都要快,具体性能有多好,建议还是先尝试下再说.如果你是升级或新安装,那你首先需要考虑php7和程序是 ...

  2. nginx初级安装配置

    nginx初级安装配置 转自:(lykyl原创)http://www.cnblogs.com/lykyl/archive/2012/11/21/2781077.html 实验环境:系统 CENTOS5 ...

  3. nginx+tomcat安装配置

    nginx+tomcat安装配置 # nginx+tomcat安装配置 #创建网站目录 mkdir -p /www/wwwroot cd /www #安装配置 wget http://mirrors. ...

  4. gerrit+nginx+centos安装配置

    安装环境 centos 6.8 gerrit-full-2.5.2.war 下载地址:https://gerrit-releases.storage.googleapis.com/gerrit-ful ...

  5. Nginx的安装配置和tomcat负载均衡

    Nginx简介 什么是nginx? Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.由俄罗斯的程序设计师Igor Sysoev所开发,官方测试ngi ...

  6. Nginx+nagios安装配置

    Nginx+nagios安装配置 [root@Nagios ~]# vi /etc/nginx/nginx.conf server { listen ; server_name localhost; ...

  7. 吴裕雄--天生自然Django框架开发笔记:Django Nginx+uwsgi 安装配置

    Django Nginx+uwsgi 安装配置 使用 python manage.py runserver 来运行服务器.这只适用测试环境中使用. 正式发布的服务,需要一个可以稳定而持续的服务器,比如 ...

  8. Nginx服务安装配置

    1.Nginx介绍 Nginx是一个高性能的HTTP和反向代理服务器,由俄罗斯人开发的,第一个版本发布于2004年10月4日.Nginx由于出色的性能,在世界范围内受到了越来越多人的关注,其特点是占有 ...

  9. Nginx (安装+ 配置域名+ 访问认证 +发布文件)

    一.Nginx介绍: Nginx是一款高性能的HTTP和反向代理服务器,能够选择高效的epoll(linux2.6内核).kqueue(freebsd).eventport(solaris10)作为网 ...

随机推荐

  1. Tomcat的结构

    Tomcat其实就是一个容器,最顶层的容器叫Server,代表整个服务器,Server中包含至少一个Service,用于具体提供服务.Service主要包含两部分:Connector和Containe ...

  2. hihoCoder 1049 后序遍历 最详细的解题报告

    题目来源:后序遍历 解题思路:开始时我只知道先通过先序.中序求出二叉树,然后再后序遍历二叉树,这当然也是一种解题思路,但是会做一些无用功,比如:计算二叉树.其实,可以直接通过先序序列和中序序列直接求出 ...

  3. Android 性能优化 ---- 启动优化

    Android 性能优化 ---- 启动优化 1.为什么要进行启动优化 一款应用的第一印象很重要,第一印象往往决定了用户的去留.打开一款应用,如果速度很快,很顺畅,那么很容易让人觉得这款应用背后的技术 ...

  4. REACT——虚拟DOM

    深入了解虚拟DOM 实际顺序 jsx->createElemnt ->虚拟DOM(JS 对象)->真实DOM 虚拟DOM中的Diff算法 :当react查找差异的时候,就会采用dif ...

  5. Python 爬取异步加载的数据

    在我们的工作中,可能会遇到这样的情况:我们需要爬取的数据是通过ajax异步加载的,这样的话通过requests得到的只是一个静态页面,而我们需要的是ajax动态加载的数据! 那我们应该怎么办呢??? ...

  6. 系统部署时的Could not load file or assembly 'Microsoft.VisualStudio.Enterprise.ASPNetHelper问题

    在web.config中,如下代码段 <compilation debug="true" targetFramework="4.0" assemblyPo ...

  7. P5836 [USACO19DEC]Milk Visits S 从并查集到LCA(最近公共祖先) Tarjan算法 (初级)

    为什么以它为例,因为这个最水,LCA唯一黄题. 首先做两道并查集的练习(估计已经忘光了).简单来说并查集就是认爸爸找爸爸的算法.先根据线索理认爸爸,然后查询阶段如果发现他们的爸爸相同,那就是联通一家的 ...

  8. Linux常用命令归类总结

    文件相关 创建文件 touch: touch README.md ">"重定向: echo 'study and share' > README.md vi & ...

  9. 数据结构C语言实现----出队伍操作

    1.创建一个队列时,空队列中队首和队尾相同,但不是NULL,队首后面挂的元素才是NULL 2.打印队列时,对于链队列,不能把指针加一来找到下一个数据,因为链表地址不连续,需要复制一条链表,不断往后遍历 ...

  10. JAVA基础系列:JDK目录结构

    0. 名词解释 SDK: Softeare Development Kit,用于开发JavaEE,包括JDK. JDK: Java Development Kit,java开发工具包,包括Java编译 ...