Nginx安装示例

71次阅读
没有评论

1. nginx安装

nginx依赖软件: 
    1. GCC编译器
        #GCC编译器和G++,用于编写Nginx HTTP模块
        yum install gcc
        yum install gcc-gcc+
    2. PCRE库
        #函数库,支持正则表达式,如果在nginx.conf里面使用了正则表达式,那么编译Nginx时就必须引进PCRE库,用于解析HTTP模块的正则表达式,
        yum install pcre pcre-devel
    3. zlib库
        #用于对http包的内容做gzip格式的压缩。
        yum install zlib zlib-devel
    4. openssl开发库
        #使用SSL协议上安全传输HTTP,就是所谓的https
        yum install openssl openssl-devel
    
1. 源码安装
    1.1 下载源码包并解压
        wget http://nginx.org/download/nginx-1.16.1.tar.gz 
        tar -zxvf nginx-1.16.1.tar.gz 
    1.2 编译
        进入解压后的目录
        ./comfigure
        make
        make install
        nginx默认安装到/usr/local/nginx/sbin/nginx目录

2. nginx配置文件详解

# 当生成一些文件的时候,所属的用户和组
user www-data;
    
# 启动子进程(worker)数,可以通过`ps aux | grep nginx`

#查看,一般设置成CPU核数。
worker_processer 1;
    
# 全局错误日志,这里的“当前目录”为/usr/local/nginx
error_log logs/error.log; # 默认
    
# 保存PID的log
pid logs/nginx.pid; # 默认
    
# 工作模式和连接数上限
events{
    # epoll是多路复用IO中的一种方式,仅用于linux2.6以上的内核,可以大大提高nginx的性能
    use epoll;
    # 单个worker process进程的最大并发连接数,受系统文件句柄限制,即`ulimit -a`中open files项
    worker_connections 65535;
}
    
# 设定http服务器
http{
    # 设定mime类型,mime.types为“文件类型定义”文件,“当前目录”为conf/
    include mime.types;
    
    # 默认文件类型
    default_type application/octet-stream;
    
    # 默认编码
    # charset utf-8;
    
    # 反向代理配置,可以打开proxy.conf看看
    # include proxy.conf;
    
    # fastcgi配置,可以打开fastcgi.conf看看
    # include fastcgi.conf; 
    
    # 定义log文件怎么写
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    # 全局访问日志,使用以上定义的main格式
    access_log logs/access.log main;
    
    # sendfile指令指定nginx是否调用sendfile函数[零拷贝方式](http://baike.baidu.com/view/704944.htm)来输出文件。这是一个提高通信效率但是降低数据传输速率的函数,只有在用来进行下载等应用磁盘IO重负载的应用中设置为off
    sendfile on;
    
    # 服务器的响应头部信息产生独立的数据包发送,即一个响应头信息=>一个包
    tcp_nopush on;
    
    # 保持连接的超时时间
    keepalive_timeout 65;
    
    # 页面压缩后传输更节省流量
    gzip on;
    
    # 防止网络阻塞
    tcp_nodelay on;
    
    # 服务器名字的hash表大小
    # server_names_hash_bucket_size 128;
    
    # 上传文件大小限制
    # client_header_buffer_size 32k;
    
    # 设定请求缓存
    # large_client_header_buffers 4 64k;
    # client_max_body_size 8m;
    
    # 开启限制IP连接数的时候需要使用
    # limit_zone crawler $binary_remote_addr 10m;
    
    # 包含每个server的配置
    # include /usr/local/nginx/myconf/*.conf;
    
    # server可以include进来,也可以直接写在后面,用于定义虚拟主机。最重要的是字段是server_name和root
    server{
        # 服务器监听端口
        listen 7890;
        
        # 访问域名
        server_name www.example.com
        #编码格式,如果网页编码与此设置不同,则将被自动转码,覆盖全局的编码。。
        # charset koi8-r;
        
        # 设置虚拟主机的访问日志
        # access_log logs/www.example.com.access.log main;
        
        #对URL进行匹配,访问server_name的时候进入这里
        location / {
            # 网页根目录,“当前目录”在nginx的安装目录,即/usr/local/nginx,可以用绝对路径或相对路径,以下的html是相对安装目录
            root html;
            
            # 默认的首页文件(有先后顺序),访问www.example.com则寻找root下的index.html返回,如果找不到,就找index.htm
            index index.html index.htm;
        }
        
        # 设置错误代码对应的错误页面
        # error_page 404 /404.html
        # error_page 500 502 503 504 /50x.html
        
        # 略去配置代理和HTTPS Server
    }
}
admin
版权声明:本站原创文章,由 admin2022-05-28发表,共计2364字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)