zoukankan      html  css  js  c++  java
  • nigix入门与实战

    一 源代码下载&安装

      1.安装、启动

        a.yum install nigix

        b.编译安装

     1 1.下载源码包
     2 wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
     3 2.解压缩源码
     4 tar -zxvf nginx-1.12.0.tar.gz
     5 3.配置,编译安装
     6 ./configure --prefix=/opt/nginx1-12/ --with-http_ssl_module --with-http_stub_status_module 
     7 make && make install 
     8 4.启动nginx,进入sbin目录,找到nginx启动命令
     9 cd sbin
    10 ./nginx #启动
    11 ./nginx -s stop #关闭
    12 ./nginx -s reload #重新加载

      2.启动后检测

      netstat -tunlp |grep 80

      curl -I 127.0.0.1

      #如果访问不了,检查selinux,iptables

    二 部署一个WEB站点

         nginx默认站点是Nginx目录下的html文件夹,这里可以从nginx.conf中查到

    location /{
                root   html;                    #这里是默认的站点html文件夹,也就是 /opt/nginx1-12/html/文件夹下的内容
                index  index.html index.htm;    #站点首页文件名是index.html
            }

       如果要部署网站业务数据,只需要把开发好的程序全放到html目录下即可

    [root@oldboy_python /tmp 11:34:52]#ls /opt/nginx1-12/html/
    index.html  jssts.jpeg  lhy.mp4  man.jpg  wget-log

      因此只需要通过域名/资源,即可访问

    mytb.com

    三 nigix的目录结构

    [root@oldboy_python /opt/nginx1-12 11:44:02]#ls
    client_body_temp  conf  fastcgi_temp  html  logs  proxy_temp  sbin  scgi_temp  static  uwsgi_temp
    • conf 存放nginx所有配置文件的目录,主要nginx.conf
    • html 存放nginx默认站点的目录,如index.html、error.html等
    • logs 存放nginx默认日志的目录,如error.log access.log
    • sbin 存放nginx主命令的目录,sbin/nginx

    四 基于域名的nigix虚拟主机实战

      

      如果每台linux服务器只运行了一个小网站,那么人气低,流量小的草根站长需要承担高额的服务器租赁费,也造成了硬件资源浪费。

      虚拟主机就是将一台服务器分割成多个“虚拟服务器”,每个站点使用各自的硬盘空间,由于省资源,省钱,众多网站都使用虚拟主机来部署网站。

    虚拟主机的概念就是在web服务里的一个独立的网站站点,这个站点对应独立的域名(IP),具有独立的程序和资源目录,可以独立的对外提供服务。
    这个独立的站点配置是在nginx.conf中使用server{}代码块标签来表示一个虚拟主机。
    Nginx支持多个server{}标签,即支持多个虚拟主机站点。

    虚拟主机类型

    复制代码
    基于域名的虚拟主机
    通过不同的域名区分不同的虚拟主机,是企业应用最广的虚拟主机。

    基于端口的虚拟主机
    通过不同的端口来区分不同的虚拟主机,一般用作企业内部网站,不对外直接提供服务的后台,例如www.pythonav.cn:9000

    基于IP的虚拟主机
    通过不同的IP区分不同的虚拟主机,此类比较少见,一般业务需要多IP的常见都会在负载均衡中绑定VIP

      基于域名的虚拟主机实战

      nginx可以自动识别用户请求的域名,根据不同的域名请求服务器传输不同的内容,只需要保证服务器上有一个可用的ip地址,配置好dns解析服务。

      /etc/hosts是linux系统中本地dns解析的配置文件,同样可以达到域名访问效果

      1.先部署一个域名为mytb.com的网站

        a.先在本地搞一个测试域名,就是编辑 hosts文件

          hosts文件在C:WindowsSystem32driversetchosts,打开hosts文件,在页末写下如下对应关系:
            10.0.0.10 mytb.com

        b.然后在nginx.conf里面修改配置,如下
          server {
            listen 80;
            server_name mytb.com;

      

      2.首先打开nginx访问日志功能,用于记录网站访问日志,防止一些二货搞你的网站编辑,在nginx.conf 打开以下注释
        log_format main '$remote_addr - $remote_user [$time_local] "$request" '
        '$status $body_bytes_sent "$http_referer" '
        '"$http_user_agent" "$http_x_forwarded_for"';

      

      3.网站文件根路径配置

        location / {
          root html;
          index index.html index.htm;
          }
      4.拒绝访问一个功能
        location / {
          root html;
          index index.html index.htm;
          deny 你要拒绝的ip;
          }
      5.错误页面的配置
        这个40x.html是放在 html文件夹下的 /opt/nginx1-12/html/网站根路径
          error_page 404 /40x.html;

     

      6.配置文件设置好了之后,检测你的nginx.conf语法是否正确,使用-t参数检测语法是否正确
        [root@s13linux /opt/nginx112 22:31:08]$./sbin/nginx -t
        nginx: the configuration file /opt/nginx112//conf/nginx.conf syntax is ok
        nginx: configuration file /opt/nginx112//conf/nginx.conf test is successful

       7.还得启动nginx,修了nginx.conf需要重新启动或者热加载

    sbin/nginx          直接敲命令是启动
    sbin/nginx -t          检测语法
    sbin/nginx -s reload    热加载
    sbin/nginx -s stop       关闭nginx

    tail -f logs/access.log 查看日志 注:每次更改配置文件后都须重新热加载nginx

    ***nginx多域名虚拟主机实现***

      1.在上述实现mytb.com网站的基础上配置另一个域名为myjd.com的网站

        a.在C:WindowsSystem32driversetchosts,打开hosts文件,在页末写下如下对应关系:

          10.0.0.10  myjd.com

        b.在nginx.conf里面添加一个server{} 标签段,填入以下内容(注意!!!写在另一个server{}标签以外,且在http{}标签以内)

            server {
              listen 80;
              server_name myjd.com;
              location / {
              root html/jd/;                  #html模板文件的路径,在jd文件夹内新建index.html文件,用于展示myjd.com页面
              index index.html;
              }
              }

      2.重新加载nginx

      3.测试mytb.com   myjd.db网页

      

  • 相关阅读:
    Map Rectifier
    倡议“开源GIS团队”成员集思广言
    动力火车终于明白
    搜索操作被google拒绝
    请教ArcGIS server 9.2做的题目的部署问题
    总结基于ArcGIS Server 9.2 Dot Net ADF的WebGIS项目部署问题
    读:『博客家园』 [博客人生]结婚是因为无路可逃
    [Gdaldev] gdalwarp/gcps and ERROR 1: Failed to compute polynomial equations of desired order
    [Gdaldev]用GCPs纠正影像的完整代码(多项式纠正)
    转:将 Oracle Spatial 与 Google Earth 集成
  • 原文地址:https://www.cnblogs.com/wdbgqq/p/9817892.html
Copyright © 2011-2022 走看看