码迷,mamicode.com
首页 > Web开发 > 详细

linux+nginx+php搭建学习笔记

时间:2015-11-18 18:10:36      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:nginx php

文章内内容均参考网络上各类文章后自行整理,感谢原文作者的分享.

OS环境CentOS release 6.6

一,安装配置nginx

下载目前nginx最新的稳定版本nginx-1.8.0

# wget http://nginx.org/download/nginx-1.8.0.tar.gz

解压编译安装

# tar -xvf nginx-1.8.0.tar.gz# cd nginx-1.8.0
# ./configure --prefix=/usr/local/nginx --with-http_realip_module --with-http_sub_module \
--with-http_gzip_static_module --with-http_stub_status_module  --with-pcre
# make && make install

如果提示错误找不到pcre就用yum装一下

# yum install pcre-devel -y

建立nginx用户

# useradd -M -s /sbin/nologin nginx

修改nginx默认配置文件,有一些为新添

# vim /usr/local/nginx/conf/nginx.conf
#运行用户
user nginx;
#运行进程数,一般设置成和cpu的数量相等
worker_processes  1;
#开启全局错误日志及存放路径
error_log  logs/error.log;
#pid文件路径
pid    logs/nginx.pid;
#设定工作模式
events {
#epoll是多路复用IO(I/O Multiplexing)中的一种方式,仅用于linux2.6以上内核,可大大提高nginx的性能
use    epoll;
#最大连接数
worker_connections  1024;
}
#设定http服务器
http {
     #设定mime类型,类型由mime.type文件定义
   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;
   #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,
   #必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off
   #以平衡磁盘与网络I/O处理速度,降低系统的uptime.
   sendfile        on;
   #设定连接超时时间,单位秒
   keepalive_timeout  65;
   #gzip压缩开关
   #gzip  on;
   #设定负载均衡的服务器列表,weight为权重,数字越大,被分配的几率越大,此处仅设为本地php服务
   upstream php_processes {
       server 127.0.0.1:9000 weight=1;
       server 127.0.0.1:9001 weight=1;
     }
   #虚拟主机设定,一个server代表一个主机
   server {
         #http服务的端口
       listen       8081;
       #设定访问域名
       server_name  localhost;
       #本虚拟主机内的访问日志记录
       access_log  logs/host.access.log;
       #默认主目录和主索引文件
       root /var/www/html;
           index  index.php index.html index.htm;
       #默认http请求根目录,location类似虚拟目录的概念
       location / {
           #网站根目录设定
          root   /var/www/html;
          #定义首页索引文件名,此处添加index.php
          index  index.php index.html index.htm;
          #设定PHP文件的处理对象
          location ~ \.php$ {
                   root           html;    
                   try_files  $uri =404;
                   #fastcgi_pass可写单个IP,亦可用upstream名定义一个集群池
                   fastcgi_pass   php_processes;
                   fastcgi_index  index.php;
                   fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
                   include        fastcgi_params;
               }
               #设定静态文件处理的配置
               location ~* \.(?:css|gif|htc|ico|js|jpe?g|png|swf)$ {
                  expires 30d;
                   log_not_found off;
                   tcp_nodelay off;
                   open_file_cache max=1000 inactive=120s;
                   open_file_cache_valid 45s;
                   open_file_cache_min_uses 2;
                   open_file_cache_errors off;
               }
               #设定一些比较大文件类型的缓存时间
               location ~* ^.+\.(?:ogg|pdf|pptx?)$ {
                   expires 30d;
                   tcp_nodelay off;
               }
       } #最外层location结束
       #定义错误提示页面
       error_page  404 500 502 503 504  /50x.html;
           location = /50x.html {
               root   /root;
               }
      }#一个server配置结束
}#http结束

待续...

linux+nginx+php搭建学习笔记

标签:nginx php

原文地址:http://nextsky.blog.51cto.com/279913/1714338

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!