专栏首页码农小胖哥的码农生涯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 条评论
登录 后参与评论

相关文章

  • 微信支付 V3 的 Java 实现 Payment Spring Boot1.0.7.RELEASE发布

    Payment Spring Boot[1] 是微信支付 V3 的 Java 实现,仅仅依赖 Spring 内置的一些类库。配置简单方便,可以让开发者快速为 S...

    码农小胖哥
  • Java设计模式之命令模式

    设计模式中的命令模式是一种行为设计模式。命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象执行。典型的 “大家各干各的把事情干成”。

    码农小胖哥
  • Spring Boot 2.4.5发布

    就在刚刚Spring Boot 2.4.5发布,同时发布的还有Spring Boot 2.3.10和下一个关键版本的候选版本Spring Boot 2.5.0....

    码农小胖哥
  • 07 . Nginx常用模块及案例

    ngx_http_limit_conn_module (nginx的连接频率限制模块可以根据定义的key来限制每个键值的连接数.)

    常见_youmen
  • nginx入门系列之应用场景介绍

    nginx是一个高性能的http服务器,反向代理服务器,负载均衡器和邮件代理服务器。

    2Simple
  • Docker系列教程06-实战:修改Nginx首页

    6.1 需求 启动一个Nginx容器。 将Nginx容器的首页改为 Welcometo51CTOdockerclass 。 将容器保存下来。 6.2 提示 Ng...

    用户1516716
  • 003.Nginx配置解析

    Nginx主配置文件/etc/nginx/nginx.conf是一个纯文本类型的文件,整个配置文件是以区块的形式组织,通常每一个区块以一对大括号{}来表示开始与...

    木二
  • Nginx 参数配置相关

    对Nginx配置的点滴学习总结,主要目的在于分析Nginx与性能相关的一些参数设置,以便性能调优时选择最优配置

    授客
  • Nginx 负载均衡配置+使用方法

    双面人
  • 高性能反向代理器Nginx

    相信大家在平时的CURD工作中也会接触到Nginx,可以说是万年的Nginx+Tomcat搭配。

    Liusy

扫码关注云+社区

领取腾讯云代金券