Nginx 基本配置与参数说明
#运行用户 user nginx; #启动进程,通常设置成和cpu的数量相等 worker_processes 4; #全局错误日志及PID文件 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; #工作模式及连接数上限 events { #epoll是多路复用IO(I/O Multiplexing)中的一种方式,仅用于linux2.6以上内核,可以大大提高nginx的性能 use epoll; #单个后台worker process进程的最大并发链接数 #并发总数是 worker_processes 和 worker_connections 的乘积 # 在设置了反向代理的情况下,max_clients = worker_processes * worker_connections / 4 worker_connections 1024; } 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 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件, #对于普通应用,必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off, #以平衡磁盘与网络I/O处理速度,降低系统的uptime. sendfile on; #tcp_nopush on; #连接超时时间 #keepalive_timeout 0; keepalive_timeout 65; #开启gzip压缩 gzip on; #设定虚拟机 server { listen 80; server_name rac1; #charset koi8-r; #access_log logs/host.access.log main; location / { #定义服务器的默认网站根目录位置 root html; #定义首页索引文件的名称 index index.html index.htm; } # 定义错误提示页面 #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; } # PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置 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; } } }
Nginx 配置支持php
Nginx本身不能处理PHP,当接收到请求后,如果是PHP请求,则发给PHP解释器处理,并把结果返回给客户端。
Nginx一般是把请求发FastCGI管理进程处理,FastCGI管理进程选择CGI子进程处理结果并返回被Nginx。
PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的。PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置。新版PHP已经集成了PHP-FPM,在./configure的时候带 -–enable-fpm参数即可开启PHP-FPM。
1. 安装php-fpm shell> cd php-5.5.23 shell> ./configure --prefix=/usr/local/php --enable-fpm --with-mysql --with-apxs2=/usr/local/apache2/bin/apxs shell> make && make install 2. 修改php-fpm配置 shell> cd /usr/local/php shell> cp etc/php-fpm.conf.default etc/php-fpm.conf shell> vi etc/php-fpm.conf ================================================================= user = nginx group = nginx ================================================================= 3. 修改nginx配置文件以支持php-fpm shell> vi /usr/local/nginx/nginx.conf ================================================================= location ~ \.php$ { root /var/web; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } =================================================================
启动服务并测试
创建测试php文件 shell> vi /var/web/test.php ================================================================= phpinfo(); ?> ================================================================= 启动php-fpm和nginx shell> /usr/local/php/sbin/php-fpm shell> /usr/local/nginx/nginx 访问http://你的服务器ip/test.php,可以见到php信息。
参考:
http://www.nginx.cn/76.html
http://www.nginx.cn/231.html
http://www.it165.net/admin/html/201308/1759.html
整理自网络
Svoid
2015-04-18
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29733787/viewspace-1585541/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29733787/viewspace-1585541/