Day11:Linux基础:nginx

提供一种网络配置服务,安装步骤根前面的samba安装进程大致一致,都需要指定安装环境、安装软件、修改配置文件以、启动程序以及测试

配置nginx

指定安装环境

根前面samba指定的安装环境一致

yum install epel -y安装epel扩展源

yum install nginx -y执行二进制安装软件包

也可以自己下载nginx,然后进行源码安装,源码安装时注意提前安装需要的文件yum gcc -* glibc-* pcre -y.源码安装指定安装环境可以上官网查询,也可以指定默认配置,解压后进入解压后的文件夹后执行./configure —prefix=/usr/local/nginx来指定默认安装配置。安装过程可能需要配置重写功能,按照提示将其关闭

修改配置文件

其安装目录下的sbin目录显示启动文件,logs存放日志文件,html存放网页文件,conf存放配置文件如果要启动程序,直接执行sbin里面的nginx文件

打开其conf/nginx.conf查看参数

  • 其中的worker process表示总共有几个worker在干活
  • 其中的error logs可以自己设定路径更改
  • 其中的evens下的worker_connection表示一个worker一次性可以接多少任务
  • 其中的日志格式为log_format是你main格式描述,产生的日志文件access_log存在于/usr/local/nginx/conf/mime.types中,动态访问此文件可以追踪访问机器的相关信息,可以通过自定义main格式描述来更改日志中需要提取的数据
  • 使用ll html/a.txt可以查看此文件的权限,服务端也可以修改其heml下的文件访问权限(chomd o-r html/a.txt)来设置访问端的读权限,这是访问短无法通过浏览器来访问a.txt
  • server中的listen表示的是默认端口,可以进行自定义修改,server中也有access_log,为局部配置,如果根前面的access_log不一样的话,先访问局部配置
  • 以上所有更改如果要生效必须要指定执行/usr/local/nginx/sbin/nginx -s reload来重新加载

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf以配置文件启动程序

ps aux |grep nginx查看启动进程,进程中的master和worker分别表示组织者和劳动者,如果要停掉程序则执行/usr/local/nginx/sbin/nginx -s stop来停止启动服务,也可以执行/usr/local/nginx/sbin/nginx -s reload来重新加载。要查看端口执行netstat -an |grep 80

测试

浏览器中输入http://192.108.0.12:80/a.txt(分别为网络协议,IP地址、端口以及文件)则会直接得到本地的/usr/local/nginx下的a.txt文件,实际上是浏览器根据IP地址访问到机器本身,然后根据端口访问到nginx软件,根据其协议下载了a.txt这个文件

nginx实现负载均衡

基于nginx的负载均衡是一种反向代理的负载均衡,nginx本身可以当做代理服务器去用,也可以当做web服务器去用可以实现把内网及其隐藏起来的效果,也可以实现一个负载均衡的效果

反向代理的配置

准备四台及其,一个当做代理服务器,其他三台当做web服务器

对web服务器进行配置

  1. 在根目录下创建html目录 mkdir /server1
  2. 在目录下创建html文件 echo 'server1' > /server1/index.html
  3. 创建配置文件目录mkdir /nginx_conf
  4. 复制默认的配置文件到自己的配置文件目录下并改名为web1.conf cp /usr/local/nginx/conf/nginx.conf /nginx_conf/web1.conf
  5. 修改配置文件 vim web1.conf
    挪到server下进行修改
    1. 修改http下的include后改为其绝对路径 /usr/local/nginx/conf/mine.types,注意后面为;
    2. 修改listen下的端口为8080
    3. 修改root 后面的网站根目录为/server1
    4. 修改index 后面的默认找到的文件名 index.html
  6. 启动程序 /usr/local/nginx/sbin/nginx -c /nginx_conf/web1.conf
  7. 查看网络端口 netstat -an |grep 8080

对lb服务器进行配置

  1. 代理服务器不需要网络文件目录
  2. 在代理服务器下新建配置文件目录 mkdir /nginx_conf
  3. 复制/usr/local/nginx/conf/nginx.conf到/nginx_conf文件夹下创建lb.conf,打开进行配置
    1. 将server下的listen 后面改服务器端口为80
    2. 将http下的 default下新建一下函数
      upstream myapp1{ #其中myapp1 可以起任何名字nginx_webs
      server 192.123.123.12:8080;
      第一台web服务器的IP地址和端口
      如果在后面加上weight=2;意思是权重值改为2
      同上,第二胎web服务器
      同上,第三台服务器
      }
    3. 找到下面的location /修改其网络协议
      将里面的内容删掉,改为`porxy_pass http://nginx_webs;
  4. 保存退出
  5. 运行程序/usr/local/nginx/sbin/nginx -c /nginx_conf/lb.conf
  6. 测试,浏览器输入代理IP和端口,会分别显示三个web服务器的网络文件
posted @ 2017-06-03 13:58  戴维德  阅读(145)  评论(0编辑  收藏  举报