美文网首页
nginx入门(四) nginx的简单实战

nginx入门(四) nginx的简单实战

作者: hlchengzi | 来源:发表于2019-07-24 16:00 被阅读0次

    前面讲了什么是nginx和nginx能干什么,如何在linux上安装nginx以及nginx配置文件字段含义。
    本文主要学习nginx虚拟主机并进行基于端口的简单实战

    nginx虚拟主机

    nginx虚拟主机就是将一台服务器分割成多个“虚拟服务器”,每个虚拟服务器都有自己的硬盘空间;
    nginx虚拟机是在web服务里的一个独立的网站站点,这个站点对应独立的域名(IP),具有独立的程序和资源目录,可以独立的对外提供服务。这个独立的站点配置是在nginx.conf中使用server{}代码块标签来表示一个虚拟主机。Nginx支持多个server{}标签,即支持多个虚拟主机站点。

    实验:

    环境 ubuntun 16.4

    1,基于端口的虚拟主机

    1,不同的server代表着不同的虚拟主机,所以应该在里面创建相应的server

    server {
            listen 80 default_server;
            listen [::]:80 default_server;
    
    
            root /var/www/html;
    
            index index.html index.htm index.nginx-debian.html;
    
            server_name _;
    
            location / {
                    # First attempt to serve request as file, then
                    # as directory, then fall back to displaying a 404.
                    try_files $uri $uri/ =404;
            }
          
    }
    
    server {
            listen 8011;
            listen [::]:8011;
    
            root /var/www/html/aa;
    
            server_name localhost;
    
            location / {
                    # First attempt to serve request as file, then
                    # as directory, then fall back to displaying a 404.
                    try_files $uri $uri/ =404;
            }
    
    }
    
    

    2,创建对应的html文件
    mkdir /var/www/html/aa
    vim /var/www/html/aa/index.html 然后在里面写上 hello nginx
    3,重新启动 nginx -s reload
    4, 验证,访问 ip和ip:8011可以分别看到不同的结果


    nginx:8011 nginx:80

    2,基于域名的虚拟主机

    和上面的类似
    1,简历和域名相对应数量的server 端口号相同,然后在server_name 后面对应不同的域名
    2,之后重启,然后测试

    3,基于IP的虚拟主机

    基本步骤:增加网卡获得多ip或者增加辅助ip,修改nginx配置文件配置多ip,重启nginx服务,创建对应的不同站点目录并上传站点文件,也可都使用一个站点目录,通过多ip来访问

    实现在同一个及其上运行java和php开发的服务器

    原理:配置代理.

    1.开启 php + apache 占用808端口,为程序入口

    2.开启 tomcat ,修改端口为8080,为程序入口

    3.开启 nginx 占用80端口,为请求总入口,以请求路径进行区分.

    如:www.test.com 则是通过nginx代理访问 php 808入口,www.test.com/java ,则是通过nginx代理访问 tomcat 8080端口.

    nginx 配置文件:

    upstream app_server{
    server 127.0.0.1:808;
    }

    upstream java_server{
    server 127.0.0.1:8080;
    }

    location / 
    {
          index index.php index.html index.htm;
          proxy_redirect off;
              proxy_set_header Host $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
              proxy_pass http://app_server;
     }
    

    location /java
    {
    index index.jsp index.html index.htm;
    proxy_redirect off;
    proxy_set_header Host host; proxy_set_header X-Real-IPremote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://java_server;
    }

    分析nginx的工作目录,内容

    [root@qishione nginx112]# ls
    client_body_temp conf fastcgi_temp html logs proxy_temp sbin scgi_temp uwsgi_temp

    conf 存放nginx的配置文件的
      nginx.conf 这里是控制nginx所有功能的文件
      html 存放网页html的目录
      index.html
      logs 存放log日志文件

    sbin 存放nginx可执行命令的
      nginx脚本命令

    相关文章

      网友评论

          本文标题:nginx入门(四) nginx的简单实战

          本文链接:https://www.haomeiwen.com/subject/nfatrctx.html