利用nginx服务搭建一个网站(www)
  • 第一个历程:编写虚拟主机配置文件

    cd /etc/nginx/conf.d/
    #扩展名只能是.conf。因为主配置文件里加载的.conf
    #cat /etc/nginx/nginx.conf
    #include /etc/nginx/conf.d/*.confvim www.conf
    server {listen 80;server_name 域名;location /oldboy {root /usr/share/nginx/html;index index.html;}
    }
    
  • 第二个历程:需要获取开发人员编写的网站代码(首页代码)

  • 第三个历程:重启nginx服务

    systemctl reload nginx
    或
    nginx -s reload
    
    • 检查语法是否正确

      nginx -t
      或全部显示配置文件
      nginx -T
      
  • 第四个历程:编写DNS配置信息

    • 真实域名:在阿里云上进行DNS解析记录配置

    • 模拟域名:在电脑里配置hosts文件

      ip 域名
      
  • 第五个历程:进行测试访问

访问过程原理说明:先去找root然后找location最后找index
  • listen:访问端口

  • server_name:ip或域名(域名需要解析)

  • location:

    • /:不需要额外创建目录

    • /有内容:需要额外创建目录

      [root@pert nginx]# cat test.conf
      server {listen 777;server_name linglong.fun;location /old {root /www/wwwroot/test_nginx/html;index index.html;}
      }[root@pert html]# pwd
      /www/wwwroot/test_nginx/html
      [root@pert html]# tree
      .
      └── old└── index.html
      
    • 访问时输入linglong.fun:777/old即访问的是index.html

  • root:站点目录(目录权限要是配置文件里面设置的属主和属组

  • index:首页文件

PS:如果有重复的地址端口,展示的是最先设置的

部署搭建网站常见错误
  • 服务配置文件编写不正确

    • 404错误

      • 修改nginx配置文件:location
      • 在站点目录中创建相应目录或文件数据信息
    • 403错误
      • 不要禁止访问
      • 没有首页文件
  • DNS信息配置不正确
  • 配置文件修改一定要重启服务;站点目录中代码文件信息调整不需要重启服务
  • 站点目录权限设置要正确
企业中虚拟主机访问方式
  • 基于域名的方式进行访问

  • 基于地址的方式进行访问

    server {listen 10.0.0.7:80;server_name linglong.fun;location /old {root /www/wwwroot/test_nginx/html;index index.html;}
    }只能用10.0.0.7进行访问
    地址修改重启只能使用systemctl restart nginx
    用reload无效
    查看哪些ip可以访问
    netstat -nptl|grep nginx
    
  • 基于端口的方式进行访问

    server {listen 777;server_name linglong.fun;location /old {root /www/wwwroot/test_nginx/html;index index.html;}
    }
    
网站页面的访问原理
  • 将域名进行解析:www.baidu.com —— 180.101.50.242
  • 建立TCP的连接(四层协议)
    • 180.101.50.242 目标端口 80
  • 根据应用层HTTP协议发出请求
    • 请求报文:hosts:www.baidu.com
  • 没有相同域名的server主机,会找满足端口要求的第一个主机
    • 显示主机的网站页面
企业中网站的安全访问配置
  • 根据用户访问的地址进行控制

    • 10.0.0.0/24 www.oldboy.com/AV/ 不能访问

    • 172.16.1.0/24 www.oldboy.com/AV/ 可以访问

      • 局部配置

        server {listen 777;server_name linglong.fun;location /old {root /www/wwwroot/test_nginx/html;index index.html;}location /AV {root /www/wwwroot/test_nginx/html;index index.html;deny 10.0.0.0/24;allow 172.16.1.0/24;}
        }
        
      • 全局配置,每个location都识别的是同一个root和index

        server {listen 777;server_name linglong.fun;root /www/wwwroot/test_nginx/html;index index.html;location /AV {deny 10.0.0.0/24;allow 172.16.1.0/24;}
        }
        
    • 补充:

      • location外面的信息:全局配置信息
      • location内部的信息:局部配置信息
  • 根据用户访问进行认证(需要输入账号密码)

    • 第一个历程:编写配置文件

      server {listen 777;server_name linglong.fun;location /old {root /www/wwwroot/test_nginx/html;index index.html;auth_basic  "开启用户认证";auth_basic_user_file password/htpasswd;}location /AV {root /www/wwwroot/test_nginx/html;index index.html;deny 10.0.0.0/24;allow 172.16.1.0/24;}
      }
      
    • 第二个历程:创建密码文件(文件中密码信息必须是密文的)

      • 查询是否安装
      rpm -qf `which htpasswd`
      
      • 安装htpasswd

        yum install -y httpd
        
      • htpasswd参数说明

        参数 解释
        -c 创建一个密码文件
        -n 不会更新文件,显示文件内容信息
        -b 免交互方式输入用户密码信息
        -i 读取密码采用标准输入方式并不做检查
        -m md5的加密算法(默认)
        -B 其他的加密方式
        C 其他的加密方式
        -d 其他的加密方式
        -s 其他的加密方式
        -p 不进行加密
        -D 删除加密文件
        htpasswd -D 文件 文件用户名
        -V
      • 创建密码文件(记住bc就可以了)

        htpasswd -bc ./htpasswd 用户名 密码
        
      • 修改密码文件权限

        chmod 600 ./htpasswd
        #属主和属组都改成nginx.conf里面设置的worker进程属主和属组
        chown www.www ./htpasswd
        
Nginx模块
  • nginx访问模块:ngx_http_access_moudle,举例配置:

    location / {deny 192.168.1.1;allow 192.168.1.0/24;allow 10.1.1.0/16;allow 2001:0db8::/32deny all;
    }
    
  • nginx认证模块:ngx_http_auth_basic_module

    location / {auth_basic  "closed site";  #开启认证功能,后面的内容随便写,是一个提示作用,但是要有这一行auth_basic_user_file conf/htpasswd;  #加载用户密码文件,最好用相对路径,也可以用绝对路径
    }
    

Nginx应用(搭建网站、设置权限、用户认证)相关推荐

  1. 使用varnish + nginx + lua搭建网站的降级系统

    前言 通常一个网站数据库挂掉后,后果将是非常严重的.基本上整个网站基本不可用了.对于一些网站来说,当数据库挂掉后,如果能提供基本的浏览服务,也是不错的.本文将尝试使用 varnish + nginx ...

  2. Nginx + Lua 搭建网站WAF防火墙

    Nginx + Lua 搭建网站WAF防火墙 一.目的 二.前期环境准备 (一).更新下yum源 (二).编译安装Nginx (三).端口放行 (四).验证安装 (五).lua编译安装 (六).端口冲 ...

  3. 使用 Nginx 实现 HTTPS 网站设置

    使用 Nginx 实现 HTTPS 网站设置 一.HTTPS 简介 二.Nginx 实现 HTTPS 网站设置 1.安装 Nginx 2.创建服务器证书密钥文件 3.创建服务器证书的申请文件 4.生成 ...

  4. 12.6-12.9 Nginx安装,默认虚拟主机,用户认证,域名重定向

    12.6 Nginx安装 大纲 1 进入src目录,把nginx下载在此目录 #cd  /usr/local/src #wget http://nginx.org/download/nginx-1.8 ...

  5. nginx proxy svn 加快_Hexo+Nginx+SVN搭建网站

    下载Notejs 官网下载地址 NoteJs官网 百度网盘下载 链接: https://pan.baidu.com/s/1JTmwNXaasghohKoADCpu6Q 密码: 1kcc 配置NoteJ ...

  6. nginx实现https网站设置

    一.HTTPS简介 1.https简介 HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块.服务端和客户端的信息传输都会通过TLS进行加密, ...

  7. Docker启动nginx容器--搭建网站

    1.下载nginx镜像 docker pull nginx 2.启动nginx镜像 docker run -d --name nginx01 -p 80:80 -v /data/nginx/www:/ ...

  8. nginx实现https网站设置(SSL证书生成配置)

    nignx配置https 一.HTTPS简介 二.证书和私钥的生成 三.配置文件 四.开启nginx的ssl模块 五.nignx配置https 一.HTTPS简介 1.https简介 HTTPS其实是 ...

  9. (二)ngxin设置用户认证

    vim /usr/local/nginx/conf/vhost/test.com.conf           #添加一个虚拟主机配置文件 添加下面内容 server { listen 80; ser ...

  10. 在win10系统下搭建网站遇到“无法枚举容器中的对象,访问被拒绝”问题

    在iis里边搭建网站设置文件夹权限时,出现"无法枚举容器中的对象,访问被拒绝"提示框,具体解决方法如下: 待操作的文件夹,右键,属性,安全标签,高级 弹出窗口显示当前文件夹的所有者 ...

最新文章

  1. ubuntu12.04安装node.js详细步骤
  2. 时间管理无非就是一个玩耍俄罗斯方块的过程,堆堆堆哈哈哈哈
  3. boost::coroutine模块实现layout的测试程序
  4. 大型程序是如何开发的_大型小程序如何研发提效
  5. integration_Integration Services性能最佳实践–写目标
  6. python 替换array中的值_Python实现计数排序
  7. [转载] 学Python的笔记(在网上自学的总结)
  8. Xcode模拟器simulators安装
  9. cefsharp修改html,CefSharp v62修改方法(支持.net4.0)
  10. 小白入门级的视频剪辑软件
  11. HTML 中的 <abbr> 标签与 role 属性
  12. TI DSP 28335 eCAP 测量脉冲占空比
  13. 亮度均匀性 matlab,亮度均匀性(Uniformity)
  14. VS2019 ClaudiaIDE更换背景图片
  15. Android Kiosk 模式
  16. 双十一,美团为何静悄悄?
  17. 教你如何查看SpringCloud Alibaba、Spring Clou 和 SpringBoot对应版本
  18. cl 编译器环境配置问题
  19. [龙讯2号]我用带有胡伟武签名的龙芯电脑
  20. 不能再让服务这么任性的被访问啦---分布式服务熔断降级限流利器至Hystrix

热门文章

  1. 揭秘第三方支付包含哪些业务 | 监管成长篇
  2. 师傅领进门,修行在个人
  3. Google Earth 去除标签的方法
  4. 2014十大家族排行榜 2014年十大网络红人排行榜
  5. 怎么样才能做好seo?我们如何做好seo
  6. STM32实战总结:HAL之看门狗
  7. 学校教学计算机报损程序,信息学院计算机应用实验教学中心低值品、易耗品及材料管理办法...
  8. 智慧实验室安全管理系统都可以管什么?
  9. 3、FPGA开发流程
  10. 【NLG】(二)文本生成评价指标—— METEOR原理及代码示例