美文网首页
综合架构之网站服务-nginx

综合架构之网站服务-nginx

作者: 一只打不死的小强 | 来源:发表于2019-07-30 20:43 被阅读0次

综合架构的第二个重要的服务。

掌握

  • 1.nginx的安装方法
  • 2.nginx的配置文件的说明

企业常用网站服务

处理静态资源: nginx apache Lighttpd
处理动态资源: tomcat(java) php(php) python(python)

nginx网站服务软件

  1. nginx服务程序能力强大: 支持更高并发访问(静态资源小文件),占用资源少(内存) //测试小文件3-5万没问题
  2. nginx服务程序功能强大: web服务器 负载均衡服务器 缓存服务器(用户访问图片---web服务器(图片资源缓存)---nfs)

nginx服务和apache服务的比较

网络模型不相同-------------->参考文章

apache-select(高并发能力较弱) vs nginx-epoll(高并发能力较强)
使用的网络模型: select epoll
宿管阿姨:
select宿管: 一个一个房间找人 遍历过程 开发复杂性低
epoll 宿管: 人员登记表 快速索引调取数据 开发复杂性高

幼儿园阿姨:
select阿姨: 一个一个询问 遍历过程
epoll阿姨: 画个圈,检查圈里是否有人 回调机制

表格对比
epoll和select对比

nginx服务如何部署

    1. yum安装部署
      a. 官方源安装: 最新稳定版本 目录结构信息
      第一个历程: 修改yum源
      vim /etc/yum.repos.d/nginx.repo
    [nginx-stable]
    name=nginx stable repo
    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
    gpgcheck=0
    enabled=1
    gpgkey=https://nginx.org/keys/nginx_signing.key
yum clean all //如果安装不成功的话
第二个历程: 安装软件
yum install -y nginx
  • b. 非官方源安装: 历史稳定版本 web02
    yum install -y nginx

注:两个版本的的目录结构不限同。

  • c. 编译安装部署 灵活安装软件 web03
    第一个历程: 下载nginx源码包
cd /server/tools
wget http://nginx.org/download/nginx-1.16.0.tar.gz

第二个历程: 解决软件依赖

pcre-devel:    perl语言兼容正则表达式
openssl-devel: 实现HTTPS访问
yum install -y pcre-devel openssl-devel

第三个历程: 编译安装

解压软件程序

    tar xf nginx-1.16.0.tar.gz
    useradd -M -s /sbin/nologin www
    cd nginx-1.16.0

编译配置:

>./configure  --prefix=(软件安装目录)  --user=worker进程管理用户  --group=worker进程管理用户组
                 --with-http_stub_status_module(状态监控模块)  --with-http_ssl_module(实现HTTPs访问功能)

    ./configure  --prefix=/application/nginx-1.16  --user=www  --group=www
                 --with-http_stub_status_module  --with-http_ssl_module
    --without-xxxx   : 编译配置关闭什么指定功能
    --wiht-xxx       : 编译设置开启什么指定功能

编译过程: 翻译---机器识别信息

make:      开发人员代码(c python)  

编译安装:

make install

nginx配置文件的说明

图片.png

1.日志切割文件
2.nginx配置文件,配置目录
3.程序与程序的接口 比如访问动态资源nginx需要和其他程序进行交互。
4.判断哪种文件类型可以处理。
5.系统启动服务
6.模块不要改动
7.管理服务的运行 和检查配置语法
8.帮助手册相关 不重要
9.站点目录---->见下图 将资源进行归类
10.缓存信息 这是nginx的另一个功能配置的,默认即可。
11.日志目录


站点目录

nginx程序配置文件说明

nginx主配置文件

 cat /etc/nginx/nginx.conf 
 user  nginx; #--- 指定worker进程管理用户,一般用虚拟用户管理
 #master进程:  管理服务是否运行
 #worker进程:  处理用户访问请求
 #相当于一个工人,如果一个工人走了,再请了一个工人
 #一个进程杀掉了,再启动一个进程
 worker_processes  1;  # 指定worker进程数量   进程数量<= 服务器总核心数   进程数量<= 服务器总核心数的2倍。
 error_log  /var/log/nginx/error.log warn; #指定错误日志存放路径
 pid        /var/run/nginx.pid;#指定程序pid文件存放路径 记录进程号
#判断文件是否存在 避免反复杀进程
 events {
    worker_connections  1024;#一个worker进程最大并发处理能力  4*1024=4096 
#1024的数值跟系统socket文件打开数有关 ulimit -a 默认为1024 
#如果数值变更小会导致服务首先
#也可以更改大
 echo '*               -       nofile          65535 ' >>/etc/security /limits.conf 
}
 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;
    keepalive_timeout  65;# --- 设置nginx为长连接 65秒连接超时
    include /etc/nginx/conf.d/*.conf;#--- 加载扩展配置文件
}

nginx配置文件分为不同区域:
{}以上主配置区域: 服务运行参数信息
事件区域: 服务程序性能参数
http区域: 配置网站访问参数 如: www.oldboy.com bbs.oldboy.com
server区域: 针对每个网站进行配置 如: www.oldboy.com www.51cto.com
location区域: 匹配信息区域
if区域: 判断信息区域


相关文章

网友评论

      本文标题:综合架构之网站服务-nginx

      本文链接:https://www.haomeiwen.com/subject/obtorctx.html