美文网首页
nginx 学习日志

nginx 学习日志

作者: coderhu | 来源:发表于2016-12-10 00:32 被阅读0次

    1 安装

    参考:https://www.nginx.com/resources/wiki/start/topics/tutorials/install/

    2 配置文件说明

    user      www www;  ## Default: nobody  nginx 管理账号

    worker_processes  5#auto;  ## Default: 1 nginx 的 worker 进程数

    error_log  logs/error.log;  ## 出错日志# [ debug | info | notice | warn | error | crit ]

    pid        logs/nginx.pid;      ## 运行的进程ID

    worker_rlimit_nofile 8192;    ## worker 进程可以打开的最大文件数(部分linux 系统最大为1024)

    events {    ## 事件驱动模型

    worker_connections  4096;  ## Default: 1024 worker进程运行的最大连接数

    # use [ kqueue | rtsig | epoll | /dev/poll | select | poll ] ;

    ##use epoll

    }

    http {   ##http服务

    include    conf/mime.types;

    include    /etc/nginx/proxy.conf;

    include    /etc/nginx/fastcgi.conf;

    index    index.html index.htm index.php;

    default_type application/octet-stream;

    log_format  main '$remote_addr - $remote_user [$time_local]  $status '

    '"$request" $body_bytes_sent "$http_referer" '

    '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  logs/access.log  main;

    sendfile    on;

    tcp_nopush  on;

    server_names_hash_bucket_size 128; # this seems to be required for some vhosts

    #隐藏服务器版本信息

    #server_tokens Off |On

    server { # php/fastcgi

    listen      80;

    server_name  domain1.com www.domain1.com;

    access_log  logs/domain1.access.log  main;

    root        html;

    location ~ \.php$ {

    fastcgi_pass  127.0.0.1:1025;

    }

    }

    server { # simple reverse-proxy

    listen      80;

    server_name  domain2.com www.domain2.com;

    access_log  logs/domain2.access.log  main;

    # serve static files

    location ~ ^/(images|javascript|js|css|flash|media|static)/  {

    root    /var/www/virtual/big.server.com/htdocs;

    expires 30d;

    }

    # pass requests for dynamic content to rails/turbogears/zope, et al

    location / {

    proxy_pass      http://127.0.0.1:8080;

    }

    }

    upstream big_server_com {

    server 127.0.0.3:8000 weight=5;

    server 127.0.0.3:8001 weight=5;

    server 192.168.0.1:8000;

    server 192.168.0.1:8001;

    }

    server { # simple load balancing

    listen          80;

    server_name    big.server.com;

    access_log      logs/big.server.access.log main;

    location / {

    proxy_pass      http://big_server_com;

    }

    }

    }

    不像apache,nginx 通过http模块里面的server模块来配置虚拟主机的:

    server {

    # Replace this port with the right one for your requirements

    listen 80 default_server;  #could also be 1.2.3.4:80

    # Multiple hostnames separated by spaces.  Replace these as well.

    server_name star.yourdomain.com *.yourdomain.com; # Alternately: _

    root /PATH/TO/WEBROOT;

    error_page 404 errors/404.html;

    access_log logs/star.yourdomain.com.access.log;

    index index.php index.html index.htm;

    # static file 404's aren't logged and expires header is set to maximum age

    location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {

    access_log off;

    expires max;

    }

    location  ~  \.php$ {

    include fastcgi_params;

    fastcgi_intercept_errors on;

    # By all means use a different server for the fcgi processes if you need to

    fastcgi_pass  127.0.0.1:YOURFCGIPORTHERE;

    }

    location ~ /\.ht {

    deny  all;

    }

    }

    Nginx 通过 FCGI protocol 和php-fpm(php fastcgi process manager)通信的配置:

    location  ~  [^/]\.php(/|$) {

    fastcgi_split_path_info ^(.+?\.php)(/.*)$;

    if  (!-f  $document_root$fastcgi_script_name) {

    return 404;

    }

    # Mitigate https://httpoxy.org/ vulnerabilities

    fastcgi_param HTTP_PROXY "";

    astcgi_param SCRIPT_FILENAME  $document_root$fastcgi_file_name;

    fastcgi_pass  127.0.0.1:9000; ## 如果以unix socket 形式进行通信 fastcgi_passunix:/var/run/php5-fpm.sock;

    fastcgi_index  index.php;

    include fastcgi_params;

    }

    相关文章

      网友评论

          本文标题:nginx 学习日志

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