nginx静态网页的搭建

  1. user www;
  2. #nginx核心功能快
  3. http {
  4. #在http{}标签里面就可以一定虚拟主机,nginx.conf中server{}虚拟主机标签的定义,默认加载顺序是自上而下的匹配规则,如果没有其他规则定义的情况下
  5. #第一个虚拟主机站点
  6. server{
  7. #定义虚拟主机站点的端口号
  8. listen 80;
  9. #填写虚拟主机的域名配置,没有域名默认为localhost也可以写_
  10. server_name localhost;
  11. #server_name www.chuan.cc;
  12. #给nginx定义网站的编码
  13. charset utf-8
  14. #如下规则是最低级匹配,任何nginx请求都会进入location的配置,去他定义的目录中寻找资料
  15. location / {
  16. #root关键字是定义网页根目录的,这个html是以nginx安装路径为相对
  17. root html;
  18. #index关键字,定义nginx的首页文件名字,默认寻找哪个文件
  19. index index.html index.htm
  20. }
  21. }
  22. #在平级关系内,我们编写n个sever{}就是代表多个虚拟主机
  23. server{
  24. }
  25. }

修改nginx虚拟主机站点目录

也就是修改location{}配置中的关键词和起网页根目录
root /www/html; #就会默认进如这个目录下寻找首页文件

静态资源压缩

nginx支持gzip对资源压缩传输,经过gzip压缩后的页面大小可以为原本的30%甚至更小,浏览体验会快很多

  1. 配置一个文件较大的首页文件
  2. 开启nginx的gzip压缩功能,只需要在http{}配置中,打开如下参数

gzip on;
gzip_http_version 1.1;
gzip_comp_level 4;
gzip_types text/plain application/javascript appli…..

  1. 这个时候我们再进行首页刷新查看,可以发现速度会较之前快很多,且利用开发者工具查看,会发现大小和我们原文件的大小缩小了许多

    基于IP的多虚拟主机

  2. 测试准备

    添加网络设备别名,绑定多个ip地址,除了增添别名和修改ip,其他抄回原ip信息

    ifconfig ens33:1 192.168.47.140 netmask 255.255.255.0 broadcast 192.168.47.2 up ifconfig ens33:2 192.168.47.142 netmask 255.255.255.0 broadcast 192.168.47.2 up

  3. 给nginx添加inlucde包含语法,让其他目录下的配置文件参数,导入到nginx.conf中,这样的写法能够让nginx每一个配置文件,更简洁清晰

    修改nginx.conf,在http{}标签中最后一行,添加如下参数,extra和nginx.conf的文件夹为相对,也可以填写绝对路径

    include extra/*.conf;

  4. 在extra目录下,添加多个基于ip的虚拟主机配置

    vim extra/140.conf

    server { listen 192.168.47.140:80; severname ; location / { root /www/140; index index.html; } }

  5. 检查nginx语法是否正确

    nginx -t

  6. 重新加载nginx配置

    nginx -s reload

  7. 准备对应ip文件目录下的首页目录文件,然后进行对应ip的查看,配置没有问题,我们能够看到每个ip显示了对应的首页文件,即相当于建立了三个虚拟主机网站

    基于域名的多虚拟主机

    基于多IP的虚拟主机,常用的并不多,还可能造成IP不足等问题,一般如果没有特殊需求,用的更多,且更方便的基于多域名的虚拟主机
    前提使用条件,要么配置DNS服务器,将你想用的域名解析到对应的ip
    使用本地的hosts文件,进行本地测试访问
    多域名的配置结合nginx,就是多虚拟主机的访问,解决了可能ip不足的问题

  8. 环境准备

    macos(苹果端) /etc/hosts 文件里面更改 windows c盘里面的hosts文件,搜索引擎搜一下就可以搜索到

  9. 修改hosts文件,添加如下信息

    192.168.47.130 learn_nginx.com
    192.168.47.130 learn_nginx_cc.com
    192.168.47.130 learn_nginx_yy.com

  10. 修改服务端的nginx配置

    server { listen 80; sever_name learn_nginx.com; #设置多个server主机配置,更改其对应域名 location / { root /www/learn_nginx; index index.html; } }

基于端口的多虚拟主机

只需要修改sever{}配置当中的 listen端口 参数即可,实现不同的端口,进行虚拟主机匹配
192.168.47.30:80
192.168.47.30:85
192.168.47.30:90