Nginx 基础

1. Nginx特点

    轻量级、占有内存少、并发能力强

2. 编译安装Nginx    

yum install pcre pcre-devel

cd /usr/local/src/

wget http://nginx.org/download/nginx-1.4.2.tar.gz

tar zxvf nginx-1.4.2.tar.gz 

cd nginx-1.4.2

./configure --prefix=/usr/local/nginx

make && make install

3. 主要目录

    conf 配置文件

    html 网页文件

    logs 日志文件

    sbin 主要的二进制程序

4. 启动Nginx    

./sbin/nginx

   如果不能成功启动,首先检查80端口是否被占用

5. Nginx 命令参数

nginx -t 测试配置是否正确
nginx -s reload 加载最新的配置 
nginx -s stop 立即停止
nginx -s quiet 优雅的重启
nginx -s reopen 重新打开日志

6. Nginx 的应用

# Nginx 配置段


# 一般设置为cpu数 * 核数
worker_processes 1;

events {
    # 一个 worker 连接的最大数
    worker_connections 1024;
}

# 配置 http 服务器的主要段
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        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    server {
        listen 8080; # 监听的端口
        server_name localhost; # 服务器名称 多个用空格隔开

        #access_log  logs/host.access.log  main;

        location / {
            root html; # 定位根目录
            index index.html index.htm; # 默认索引页
        }
        
        # 配置 php
        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;
        }
    }
}

    $remote_addr 和 $http_x_forwarded_for 用来记录客户端的ip地址

    $remote_user 用来记录客户端名称

    $time_local 用来记录访问时间与时区

    $request 用来记录请求的 url 与 http 协议

    $status 请求状态 成功是 200

    $body_bytes_sent 记录发送给客户端文件主体内容大小

    $http_referer 用来记录从哪个页面链接访问过来的

    $http_user_agent 记录客户端浏览器相关信息

7. Nginx 与 PHP 

    通过 fastcgi 模式来相互通信,两者是相互独立的,而 php 与 Apache 的关系是 php 作为 Apache 的一个模块来启动

8. 重写规则

    rewrite 和 try_files 

    try_files $uri/ $uri /index.php?$query_string;

9. Pathinfo

location ~ \.php(.*)$ { # 正则匹配.php后的pathinfo部分 root html;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $DOCUMENT_ROOT$fastcgi_script_name; 
    fastcgi_param PATH_INFO $1; # 把pathinfo部分赋给PATH_INFO变量 
    include fastcgi_params;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值