引言

为什么要学习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. 数据可视化之分析篇(五)如何使用Power BI计算新客户数量?

    https://zhuanlan.zhihu.com/p/65119988 每个企业的经营活动都是围绕着客户而开展的,在服务好老客户的同时,不断开拓新客户是每个企业的经营目标之一. 开拓新客户必然要付 ...

  2. Python切图脚本

    背景: 时值疫情,作业需要在网上提交.最近老师改变了交作业方式,之前是提交完整的作业图片即可,现在需要将完整的作业图片切分成一题一题的提交,如果手动切分较麻烦,故本人写了个python脚本实现自动切分 ...

  3. bzoj1339[Baltic2008]Mafia*

    bzoj1339[Baltic2008]Mafia 题意: 匪徒准备从一个车站转移毒品到另一个车站,警方准备进行布控.对于每个车站进行布控都需要一定的代价,现在警方希望使用最小的代价控制一些车站,使得 ...

  4. selenium自动化测试实战——12306铁路官网范例

    一.Selenium介绍 Selenium 是什么?一句话,自动化测试工具.它支持各种浏览器,包括 Chrome,Safari,Firefox 等主流界面式浏览器,如果你在这些浏览器里面安装一个 Se ...

  5. Ethical Hacking - Web Penetration Testing(13)

    OWASP ZAP(ZED ATTACK PROXY) Automatically find vulnerabilities in web applications. Free and easy to ...

  6. JS 原型与原型链终极详解(二)

    四. __proto__ JS 在创建对象(不论是普通对象还是函数对象)的时候,都有一个叫做__proto__ 的内置属性,用于指向创建它的构造函数的原型对象. 对象 person1 有一个 __pr ...

  7. 如何将 Bitbucket 的 pull request 签出到本地 review

    将 pull request 签出到本地进行 review, 最大的好处是可以通过 IDE 来查找各种变量和方法的上下文引用,以便充分发挥我们杠精的本领,将 pull request 中的各种合理和不 ...

  8. day12:闭包函数&匿名函数

    闭包函数 闭包函数的定义: 如果内函数使用了外函数的局部变量并且外函数把内函数返回出来的过程 叫做闭包里面的内函数是闭包函数 一个简单的闭包函数示例: def songyunjie_family(): ...

  9. humlbe bundle如何绑定二次验证码_虚拟MFA_两步验证_谷歌身份验证器?

    一般点账户名——设置——安全设置中开通虚拟MFA两步验证 具体步骤见链接 humlbe bundle如何绑定二次验证码_虚拟MFA_两步验证_谷歌身份验证器? 二次验证码小程序于谷歌身份验证器APP的 ...

  10. Python学习周期 学习Python要多久?

    学习python编程需要多长时间?首先我们需要明确一点,在互联网技术领域,技术始终在不断的迭代升级,只要进入IT行业就要时刻保持学习的状态,才能不被技术进步的车轮碾压.我们目前讨论的python学习周 ...