专栏首页码农小胖哥的码农生涯Nginx(二)-- 配置文件之虚拟主机配置

Nginx(二)-- 配置文件之虚拟主机配置

1.配置文件与解释

#user  nobody;worker_processes  1;            # 设置工作子进程,默认是1个工作子进程,可以修改,一般设置为CPU的总核数

#error_log  logs/error.log;#error_log  logs/error.log  notice;#error_log  logs/error.log  info;
#pid        logs/nginx.pid;

events {    worker_connections  1024;   # 设置一个工作子进程最大允许多少个连接}

http {    include       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  logs/access.log  main;
    sendfile        on;    #tcp_nopush     on;
    #keepalive_timeout  0;    keepalive_timeout  65;
    #gzip  on;
    server {            # 虚拟主机段        listen       80;        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {            root   html;            index  index.html index.htm;        }
        #error_page  404              /404.html;
        # redirect server error pages to the static page /50x.html        #        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80        #        #location ~ \.php$ {        #    proxy_pass   http://127.0.0.1;        #}
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000        #        #location ~ \.php$ {        #    root           html;        #    fastcgi_pass   127.0.0.1:9000;        #    fastcgi_index  index.php;        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;        #    include        fastcgi_params;        #}
        # deny access to .htaccess files, if Apache's document root        # concurs with nginx's one        #        #location ~ /\.ht {        #    deny  all;        #}    }

    # another virtual host using mix of IP-, name-, and port-based configuration    #    #server {    #    listen       8000;    #    listen       somename:8080;    #    server_name  somename  alias  another.alias;
    #    location / {    #        root   html;    #        index  index.html index.htm;    #    }    #}

    # HTTPS server    #    #server {    #    listen       443 ssl;    #    server_name  localhost;
    #    ssl_certificate      cert.pem;    #    ssl_certificate_key  cert.key;
    #    ssl_session_cache    shared:SSL:1m;    #    ssl_session_timeout  5m;
    #    ssl_ciphers  HIGH:!aNULL:!MD5;    #    ssl_prefer_server_ciphers  on;
    #    location / {    #        root   html;    #        index  index.html index.htm;    #    }    #}}

2.Nginx虚拟主机配置

1.基于域名配置(使用的比较多)

1) 在nginx/conf/nginx.conf文件中的http段中添加一个server,如下所示:

1     # 基于域名的虚拟主机配置2     server {3         listen          80;4         server_name     www.xbq.com;5         location / {6             root        html/host;  # 相对路径,在 nginx/html/host目录中7             index       admin.html;8         }9     }

2) 在nginx/html文件夹中新建 host 文件夹,然后在 host文件夹中 新建admin.html文件,admin.html文件中的内容为:

Hello,This is host page,www.xbq.com.

3) 重新加载nginx.conf文件,./nginx -s reload

4) 修改C:\Windows\System32\drivers\etc\hosts文件,添加如下内容,为了将域名解析:

5) 浏览器访问:www.xbq.com,发现和刚刚写的admin.html内容一样,成功!

当访问www.xbq.com的时候,会匹配server中 server_name,然后找到html/host文件夹中的admin.html,返回界面。

2.基于端口配置

1) 在nginx/conf/nginx.conf文件中的http段中添加一个server,如下所示:

1     # 基于端口号的虚拟主机配置2     server {3         listen          8888;4         server_name     test;      # 无实际意义,可省略5         location / {6             root        html/port; # 相对路径,在nginx/html/port目录中7             index       admin.html;8         }9     }

2) 在nginx/html文件夹中新建 port文件夹,然后在 port文件夹中 新建admin.html文件,admin.html文件中的内容为:

Hello,This is port page.

3) 重新加载nginx.conf文件,./nginx -s reload

4) 浏览器访问:http://192.168.80.128:8888/,出现如下,则成功:

3.基于IP配置(使用的比较少)

(1) 先查看本机的IP,ifconfig

(2) 添加虚拟网卡

ifconfig eth0:1 192.168.80.150 broadcast 192.168.80.255 netmask 255.255.255.0 up

route add -host 192.168.80.150 dev eth0:1

(3) 检测网络是否通:ping 192.169.80.150

(4) 在nginx/conf/nginx.conf文件中的http段中添加一个server,如下所示:

1     # 基于IP的虚拟主机配置2     server {3         listen          80;4         server_name     192.168.80.150;  # 新建的虚拟网卡,是内网IP,只能通过 wget访问5         location / {6             root        html/ip;7             index       admin.html;8         }9     }

(5) 在nginx/html文件夹中新建 ip文件夹,然后在 ip文件夹中 新建admin.html文件,admin.html文件中的内容为:

Hello,This is IP page.

(6) 重新加载nginx.conf文件,./nginx -s reload

(7) 到nginx/conf 目录下,访问 刚刚的IP地址:wget 192.168.80.150,发现下载成功!

本文分享自微信公众号 - 码农小胖哥(Felordcn)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python+appium+夜神模拟器+jenkins进行android自动化测试

    就算所有人都不支持你。这条路会很曲折,你也会一度认为是不是自己选错了,但只要坚持,就算最后没有成功,但努力了就不会有遗憾。

    测试小兵
  • MySQL 进阶全套

    《MySQL入门全套》讲的是MySQL的基本操作,禁不住大家的热情,所以进阶来了。这一篇讲的是进阶,会有一点难以理解,本节主要内容MySQL视图,存储过程,函数...

    测试小兵
  • 那些年我们一起学XSS - 3. 输出在HTML属性里的情况

    2. 这个时候我们可以把目光发展一下,找一找在【输出】出现在HTML属性里的情况。

    漏洞知识库
  • 那些年我们一起学XSS - 1. 什么都没过滤的入门情况

    4. 作为第一个最基础的例子, 我们拿出的是一个什么都没过滤(其实还是有些转义的,主要没过滤< , >)的例子。这种例子出现在腾讯这种大网站的概率不是很高。但是...

    漏洞知识库
  • 那些年我们一起学XSS - 8. Dom Xss入门 [显式输出]

    3. 再进一步, JS的字符串中的字符可以写为 unicode编码。 譬如:< 可以表示为 \u003c , > 可以表示为 \u003e 不知道怎么转义的,...

    漏洞知识库
  • MySQL 入门全套

    数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再...

    测试小兵
  • 如何抓取猫眼电影Top100的影片信息?

    对于喜好电影的同学来说,猫眼电影和豆瓣电影应该是比较熟悉的电影评分的平台。但是,如何通过Python抓取猫眼电影评分前100的信息呢?

    测试小兵
  • 测试覆盖率工具:EclEmma

    1.Class Instrumentation: 把统计代码插入编译好的.class文件

    测试小兵
  • Web前端开发应该必备的编码原则

    今天小编要跟大家分享的文章是关于Web前端开发应该必备的编码原则。HTML已经走过了20几年的发展历程,它几乎见证了整个互联网的发展。但是,即便到现在,有很多基...

    用户5827212
  • python爬虫之移动端模拟

    就算所有人都不支持你。这条路会很曲折,你也会一度认为是不是自己选错了,但只要坚持,就算最后没有成功,但努力了就不会有遗憾。

    测试小兵

扫码关注云+社区

领取腾讯云代金券