1: Introduction
Tomcat has very low performance when processing dynamic requests in a high-concurrency environment, and is even more fragile when processing static pages. Although the latest version of Tomcat supports epoll, processing static pages through Nginx is much better in terms of performance than processing through Tomcat.
Two: Download and install (taking Windows environment as an example)
1. Download address
Download address: Click here
2. Directory structure
<code> Nginx- |_ conf 配置目录 |_ contrib |_ docs 文档目录 |_ logs 日志目录 |_ temp 临时文件目录 |_ html 静态页面目录 |_ nginx.exe 主程序 </code>
3: Start and stop nginx service
cmd enter the nginx decompression directory
Execute start nginx, you can start the service (or nginx or nginx.exe)
It is recommended to use the first one,
The other two will keep your cmd window in execution and cannot perform other command operations.
Execute nginx -s stop to stop the nginx service.
Execute nginx -t to check whether the nginx configuration file is correct.
Four: nginx main configuration file nginx.conf
To download all configuration files, please click here
<code><span>#Nginx所用用户和组</span><span>#user niumd niumd;</span><span>#工作的子进程数量(通常等于CPU数量或者2倍于CPU)</span> worker_processes <span>2</span>; <span>#错误日志存放路径</span><span>#error_log logs/error.log;</span><span>#error_log logs/error.log notice;</span> error_log logs/error.log info; <span>#指定pid存放文件</span> pid logs/nginx.pid; events { <span>#使用网络IO模型linux建议epoll,FreeBSD建议采用kqueue</span><span>#use epoll;</span><span>#允许最大连接数</span> worker_connections <span>2048</span>; } http { <span>include</span> mime.types; default_type application/octet-stream; <span>#定义日志格式</span><span>#log_format main '$remote_addr - $remote_user [$time_local] $request '</span><span># '"$status" $body_bytes_sent "$http_referer" '</span><span># '"$http_user_agent" "$http_x_forwarded_for"';</span><span>#access_log off;</span> access_log logs/access.log; client_header_timeout <span>3</span>m; client_body_timeout <span>3</span>m; send_timeout <span>3</span>m; client_header_buffer_size <span>1</span>k; large_client_header_buffers <span>4</span><span>4</span>k; sendfile <span>on</span>; tcp_nopush <span>on</span>; tcp_nodelay <span>on</span>; <span>#keepalive_timeout 75 20;</span><span>include</span> gzip.conf; upstream localhost { server localhost:<span>8080</span> weight=<span>5</span>; server localhost:<span>9091</span> weight=<span>1</span>; } server { listen <span>80</span>; server_name localhost; location / { proxy_connect_timeout <span>3</span>; proxy_send_timeout <span>30</span>; proxy_read_timeout <span>30</span>; proxy_pass http://localhost; } } } </code>
Five: Load balancing weight configuration
<code> upstream localhost { <span>server</span> localhost:<span>8080</span> weight=<span>5</span>; <span>server</span> localhost:<span>9091</span> weight=<span>1</span>; }</code>
The above introduces the nginx load balancing configuration, including the relevant aspects. I hope it will be helpful to friends who are interested in PHP tutorials.