zoukankan      html  css  js  c++  java
  • Nginx安装、多域名访问

    nginx

    web服务 apache iis
    django web框架
    lvs 负载均衡 章文嵩博士
    vue 尤雨溪
    Tengine
    F5 硬件负载
    A10

    安装

    ```
    wget http://nginx.org/download/nginx-1.16.1.tar.gz
    tar xf nginx-1.16.1.tar.gz 
    cd nginx-1.16.1
    yum install gcc zlib2-devel pcre-devel openssl-devel
    ./configure --prefix=/opt/nginx --with-http_ssl_module --with-http_stub_status_module
    make && make install
    ```

    目录结构

    ```
    [root@localhost nginx]#ls
    conf html logs sbin
    conf 配置文件
    html 存放静态文件 index.html 是默认的欢迎页面
    logs 日志目录
    sbin 二进制文件
    启动以后会生成一个主进程,根据配置文件的选项来生成子进程(工作进程),主进程不负责处理用户的请求,用来转发用户的请求,真正负责处理用户请求的是子进程
    ```

    命令格式

    ```
    ./sbin/nginx -h
    nginx version: nginx/1.16.1
    Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]
    
    Options:
    -?,-h : this help
    -v : show version and exit 显示版本号
    -V : show version and configure options then exit 显示版本+编译时选项
    -t : test configuration and exit 测试配置文件
    -T : test configuration, dump it and exit
    -q : suppress non-error messages during configuration testing
    -s signal : send signal to a master process: stop, quit, reopen, reload
    -p prefix : set prefix path (default: /opt/nginx/)
    -c filename : set configuration file (default: conf/nginx.conf)
    -g directives : set global directives out of configuration file
    ```

    配置文件

    ```shell
    #user nobody; 使用哪个用户来启动子进程
    worker_processes 1; #工作进程的个数,配置成cpu的核心数-1或者-2
    # cpu亲缘性绑定,让nginx的子进程工作在哪个核心上
    
    #error_log logs/error.log;
    #error_log logs/error.log notice;
    #error_log logs/error.log info;
    
    #pid logs/nginx.pid;
    
    
    events {
    #use [epoll|select|poll];
    worker_connections 102400; # 每一个子进程可以处理的连接数
    }
    
    
    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; # 指定默认的index页面
    }
    # 错误页面 找不到页面
    #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;
    # }
    #}
    
    }
    
    ```

    404页面

    ```
    error_page 404 /404.html;
    ```

    root和alias的区别

    ```
    location /img {
      root /data/img;
    }
    root /data/img 里面必须有/img
    location
    /img {   alias /data/img; } alias /data/img 里面不需要有 /img ```

    域名

    ```
    server_name mynginx.com
    ```

    多域名访问

    ```
    server {
      listen 80;
      server_name www.taobao.com taobao.com;
      location / {
        root /data/taobao;
        index index.html;
      }
    }
    server {   listen
    80;   server_name www.jd.com jd.com;   location / {     root /data/jd;     index index.html;   } } ```

    默认server

    ```
    listen 80 default_server; #放在server中的端口号后面,在使用ip访问时,默认访问的server
    ```
  • 相关阅读:
    HDU 1800 Flying to the Mars 字典树,STL中的map ,哈希树
    字典树 HDU 1075 What Are You Talking About
    字典树 HDU 1251 统计难题
    最小生成树prim算法 POJ2031
    POJ 1287 Networking 最小生成树
    次小生成树 POJ 2728
    最短路N题Tram SPFA
    poj2236 并查集
    POJ 1611并查集
    Number Sequence
  • 原文地址:https://www.cnblogs.com/sun-10387834/p/12790766.html
Copyright © 2011-2022 走看看