linux+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结束

待续...

时间: 2024-08-03 06:41:39

linux+nginx+php搭建学习笔记的相关文章

Linux Shell脚本编程学习笔记和实战

http://www.1987.name/141.html shell基础 终端打印.算术运算.常用变量 Linux下搜索指定目录下特定字符串并高亮显示匹配关键词 从键盘或文件中获取标准输入 [read命令] 文件的描述符和重定向 数组.关联数组和别名使用 函数的定义.执行.传参和递归函数 条件测试操作与流程控制语句 获取时间日期格式和延时 [date.sleep命令] 内部字段分隔符IFS和脚本的调试DEBUG 显示.读取或拼接文件内容 [cat命令] 文件查找与打印文件列表 [find命令]

nginx docker镜像学习笔记

最近在看nignx,在本地虚拟机使用docker nginx镜像搭建了nginx+php环境 学习笔记如下: 拉取nginx镜像docker pull nginx 创建一个容器,并挂载本地目录docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx挂载的路径权限为只读(:ro),默认权限是读写. 指定端口docker run --name some-nginx -d -p 8080:80 som

linux系统构建基础学习笔记——操作

linux系统构建 ********************************************************                  ---交叉编译环境构建--- 安装arm-linux-gcc-4.3.2 (交叉编译器) tar xzvf arm-linux-gcc-4.3.2.tgz -C /cd /usr/local/arm/4.3.2/bin./arm-linux-gcc -v在/etc/bashrc文件的最后添加如下一行:   export PATH=

Introduction the naive“scull” 《linux设备驱动》 学习笔记

Introduction the naive "scull" 首先,什么是scull? scull (Simple Character Utility for Loading Localities). scull is a char driver that acts on a memory area as though it were a device. 和第一个C程序Hello world一样,他什么都不能干,却能很好的阐释怎么一步步进阶的去写驱动 blog的最后,我会给出这对于sc

《鸟哥的Linux私房菜》学习笔记(0)

听说Linux已经有很长一段时间了,但是从未系统的学习过Linux.这次把在博客园的处女秀给了Linux,希望能够给自己学习Linux一种坚持的动力,坚持就是胜利,fighting! 在我看来,成为技术大牛之前,写博客主要是对自己所学的东西作以总结,涉及的东西也稍显浅薄,但是却能够为更深一步的学习打下基础,于是我选择了写博客!以前从未写过博客,博客给人第一印象——高大上,现在要写了,顿感压力山大,还好本人的初衷是为了知识的整理,暂时这样安慰一下我自己吧.初期的博客,我想肯定会是非常糟糕的,但是我

linux系统驱动基础学习笔记

Linux驱动: 角色:应用程序 API      操作系统      驱动       实际硬件 功能:1.对设备进行初始化和释放2.把数据从内核传送到硬件和从硬件读取数据3.检测和处理设备出现的错误 Linux驱动程序类型:字符设备:由文件系统管理    (通过设备文件访问)块设备:由文件系统管理网络设备:由协议栈管理      (通过socket访问) 查看系统设备文件ls -l /devcat /proc/devicescat /sys/power/state 属性:文件类型   主设备

linux应用编程基础学习笔记

********************************************************            --文件I/O-- 文件:文本文件:存储量大,速度慢,便于字符操作二进制文件:存储量小,速度快,便于存放中间结果 普通文件:设备文件: ---C标准函数---:Buffered I/O,高级文件系统,在用户空间开辟缓冲区,流操作(stream)#include<stdio.h> typedef struct{ int _fd;      //文件号 int _

《鸟哥的Linux私房菜》学习笔记(2)——Bash特性

bash及其特性: 离用户最近的程序是shell,shell 是外壳的意思,本身也是一种可执行程序.广义上的shell包含两类GUI和CLI. GUI:Gnome,KDE,Xface CLI:sh,csh,ksh,bash,tcsh,zsh 当有多个用户登陆的时候,会有多个进程,进程之间彼此互不相干,因为对于每个进程来说,它只认为当前主机上只有自己和内核存在.但是只有一个shell程序.linux允许一个用户账号登陆多次 . 进程是程序的副本,进程是程序执行的实例,是有生命周期的,由内核进行管理

《鸟哥的Linux私房菜》学习笔记(1)——文件与目录

在Linux中,任何设备都是文件,不仅如此,连数据通信的接口也有专门的文件负责.可以说,一切皆文件,目录也是一种文件,是路径映射.因此,文件系统是Linux的基础. 一.文件与目录管理命令 1.ls(list)--查看文件与目录命令 在linux中,该命令可能是最多被执行的,因为我们随时要知道文件或者目录的相关信息.ls命令默认显示非隐藏文件的文件名(以文件名进行排序)以及文件名代表的颜色. 命令格式:ls [选项] [目录名] 常用参数: -l(long):列出长字符串,包含文件的属性与权限等