ngnix 基础入门

本文涉及的产品
.cn 域名,1个 12个月
简介: 快速了解nginx

nginx

默认配置
user www www;
#程序运行用户和组
worker_processes auto;
#启动进程,指定 nginx 启动的工作进程数量,建议按照 cpu 数目来指定,一般等于 cpu 核心数目
error_log /home/wwwlogs/nginx_error.log crit;
#全局错误日志
pid /usr/local/nginx/logs/nginx.pid;
#主进程 PID 保存文件
worker_rlimit_nofile 51200;
#文件描述符数量
events
    {
    use epoll;
    #使用 epoll 模型,对于 2.6 以上的内核,建议使用 epoll 模型以提高性能
    worker_connections 51200;
    #工作进程的最大连接数量
    }
http{
#网站优化参数
    server { #具体的某一网站的配置信息
        listen 80; #监听端口
        root html; #网页根目录(/usr/local/nginx/html)
        server_name www.atguigu.com; #服务器域名
        index index.html; #默认加载页面
        access_log logs/access.log; #访问日志保存位置
        ......;
        location (.*)\.php$ {
            用正则匹配具体的访问对象;
        }
        location {
            跳转等规则;
        }
    }
    server {
        虚拟主机;
    }
}

Nginx 的状态统计

1. 安装 nginx 时将 --with-http_stub_status_module 模块开启

2. 修改 nginx 配置文件(写入要访问的 server 标签中)
location /nginx_status{
    stub_status on;
    access_log off;
}

3. 客户端访问网址:http://IP/nginx_status
`Active connections` 表示当前的活动连接数
`server accepts handled requests` 表示已经处理的连接信息
三个数字依次表示已处理的连接数、成功的 TCP 握手次数、已处理的请求数

目录保护

1. 原理和 apache 的目录保护原理一样(利用上一个实验接着完成)

2. 在状态统计的 location 中添加:
auth_basic "Welcome to nginx_status!";
auth_basic_user_file /usr/local/nginx/html/htpasswd.nginx;

3. 使用 http 的命令 htpasswd 进行用户密码文件的创建(生成在上面指定的位置)
#htpasswd -c /usr/local/nginx/html/htpasswd.nginx user

4. 重启 nginx 并再次访问统计页面

基于 IP 的身份验证(访问控制)

1. 接着上一个实验完成操作

2. 在状态统计的 location 中添加:
allow 192.168.88.1;
deny 192.168.88.0/24;
#仅允许 192.168.88.1 访问服务器

虚拟主机(基于域名)

1. 提前准备好两个网站的域名, 并且规划好两个网站网页存放目录

2. 在 Nginx 主配置文件中并列编写两个 server 标签,并分别写好各自信息
server {
    listen 80;
    server_name blog.atguigu.com;
    index index.html index.htm index.php;
    root html/blog;
    access_log logs/blog-access.log main;
}
server {
    listen 80;
    server_name bbs.atguigu.com;
    index index.html index.htm index.php;
    root html/bbs;
    access_log logs/bbs-access.log main;
} 

3. 分别访问两个不同的域名验证结果

反向代理

1. 在另外一台机器上安装 apache, 启动并填写测试页面

2. 在 nginx 服务器的配置文件中添加(写在某一个网站的 server 标签内)
location / {
    proxy_pass http://192.168.88.100:80; #此处填写 apache 服务器的 IP 地址
} 

3. 重启 nginx,并使用客户端访问测试

负载调度

1. 使用默认的 rr 轮训算法,修改 nginx 配置文件
upstream bbs { #此标签在 server 标签前添加
    server 192.168.88.100:80;
    server 192.168.88.200:80;
}
server {
    ........;
    #修改自带的 location / 的标签,将原内容删除,添加下列两项
    location / {
        proxy_pass http://bbs; #添加反向代理,代理地址填写 upstream 声明的名字
        proxy_set_header Host $host; #重写请求头部,保证网站所有页面都可访问成功
    }
} 

2. 开启并设置两台 88.100 & 88.200 的主机
安装 apache 并设置不同的 index.html 页面内容(设置不同页面是为了看实验效果)

3. 重启 nginx,并使用客户端访问测试
相关文章
|
2月前
|
jenkins Java 持续交付
Jenkins基础入门与安装配置详解
Jenkins基础入门与安装配置详解
149 1
|
2月前
|
负载均衡 应用服务中间件 nginx
快速上手:Tomact集群配置(图文并茂)
快速上手:Tomact集群配置(图文并茂)
|
10月前
|
缓存 负载均衡 应用服务中间件
Nginx__基础入门篇
Nginx__基础入门篇
|
10月前
|
关系型数据库 MySQL 应用服务中间件
Nginx__高级进阶篇之LNMP动态网站环境部署
Nginx__高级进阶篇之LNMP动态网站环境部署
129 0
|
11月前
|
前端开发 应用服务中间件 nginx
前端学习笔记202305学习笔记第二十三天-nginx项目部署500情况
前端学习笔记202305学习笔记第二十三天-nginx项目部署500情况
51 0
|
7月前
|
负载均衡 关系型数据库 应用服务中间件
小白带你学习linux的LNMT和动静分离(三十九)
小白带你学习linux的LNMT和动静分离(三十九)
41 0
|
7月前
|
应用服务中间件 Linux 网络安全
小白带你学习linux Nginx基本部署 (二十一)
小白带你学习linux Nginx基本部署 (二十一)
39 0
|
10月前
|
缓存 负载均衡 安全
Nginx__高级进阶篇
Nginx__高级进阶篇
|
负载均衡 应用服务中间件 Linux
神器 Nginx 的学习手册《一》 ( 建议收藏 )
Nginx 是一个高性能的 HTTP 和反向代理服务器,特点是占用内存少,并发能力强,事实上 Nginx 的并发能力确实在同类型的网页服务器中表现较好。 Nginx 专为性能优化而开发,性能是其最重要的要求,十分注重效率,有报告 Nginx 能支持高达 50000 个并发连接数。
240 0
神器 Nginx 的学习手册《一》 ( 建议收藏 )