nginx安装部署

本文详细介绍了如何在Linux系统上安装、编译和配置Nginxweb服务器,包括依赖包的安装、源码包的下载和编译过程,以及关键配置文件如nginx.conf和虚拟主机配置的说明。

nginx安装部署文档

1、安装nginx的依赖包

yum install -y gcc  curl vim iotop  make rsync lrzsz tree ntpdate  pcre pcre-devel zlib zlib-devel openssl openssl-devel

2、下载nginx源码包文件

见同级目录下nginx安装目录,上传到/usr/local/src/

3、编译安装

cd /usr/local/src/
tar xvfz nginx-1.20.1.tar.gz 

#编译

cd nginx-1.20.1
./configure  --prefix=/opt/server/nginx \
        --sbin-path=/opt/server/nginx/sbin/nginx \
        --with-http_stub_status_module \
        --with-http_ssl_module \
        --with-http_realip_module

make && make install

#配置文件目录

统一放在/opt/server/nginx/conf/vhosts目录下面:

#配置文件参考

1、nginx.conf

user  root;
worker_processes  auto;
#nginx进程数,建议按照cpu数目来指定,一般为它的倍数。
worker_cpu_affinity
0001
0010
#0100
#1000
;
#nginx输出日志
error_log  /opt/logs/nginx/error.log  error;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

pid        /opt/server/logs/nginx.pid;
events {
    use epoll;
    #使用epoll的I/O模型
    worker_connections  51200;
    #Nginx worker单个进程允许的客户端最大连接数
    #最大连接数Max_client = worker_processes * worker_connections
    #进程的最大连接数收Linux系统进程的最大打开文件数限制,在执行操作系统命令“ulimit -HSn 65535”后,才能生效
    #连接数并不是越大越好,要在系统性能能接受的范围内
}


http {
underscores_in_headers on;
    include       mime.types;
    proxy_buffer_size 128k;
    proxy_buffers   32 128k;
    proxy_busy_buffers_size 128k;
    fastcgi_intercept_errors on;
        default_type  application/octet-stream;
    client_header_timeout 600;
        client_body_timeout 600;
        send_timeout 60;
    set_real_ip_from 100.125.0.0/16;
    real_ip_header X-Forwarded-For;
    log_format  main '$remote_addr $server_addr $remote_user [$time_local] $host '
                    '"$request" $status $body_bytes_sent $request_time "$upstream_addr" "$upstream_response_time" "$http_x_forwarded_for" '
                    '"$http_referer" "$http_user_agent" ';
        access_log /opt/logs/nginx/access.log  main; #默认时间输出格式
        server_names_hash_bucket_size 128;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 40m;
        #上传文件大小设置(全局配置),具体数字要根据业务需求决定
        #此指令设置NGINX能处理的最大请求主体大小。
        #如果请求大于指定的大小,则NGINX发回HTTP如果请求大于指定的大小,
        #则NGINX发回HTTP 413(Request Entity too large)错误。 如果服务器处理大文件上传,则该指令非常重要。
        sendfile on;
        #开启文件的高效传输模式
        tcp_nopush     on;
        #激活tcp_nodelay,提高I/O性能,在包含keepalive参数时才有效
        server_tokens off;
        #控制http response header内的服务版本信息的显示,以及错误信息中web服务版本信息
        keepalive_timeout 60;
        #设置客户端连接保持会话的超时时间
        tcp_nodelay on;
        #gzip模块设置
        gzip on;
        #开启gzip压缩
        gzip_min_length  1k;
        #最小压缩文件大小
        gzip_buffers     4 16k;
        #设置缓冲区的个数以及每个缓冲区的大小,当前配置共32个缓冲区,每个缓冲区16KB
        gzip_http_version 1.0;
        #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
        gzip_comp_level 4;
        #设置gzip的压缩级别,取值[1-9],数值越大压缩率越高,压缩时消耗的资源越多,通常合理取值是3-5
        gzip_types       text/plain application/javascript  application/x-javascript text/css application/xml image/jpeg image/gif image/png image/x-icon;
        #分别表示对css js json xml进行压缩,多个用空格分开,注意:text/html类型总会被压缩,不需要指定
        gzip_vary on;
        #表示是否添加"Vary: Accept-Encoding"响应头
        proxy_ignore_client_abort on;
        proxy_redirect off;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $http_x_forwarded_for;
        proxy_next_upstream off;
        proxy_next_upstream_timeout 0;
        proxy_next_upstream_tries 1;
    proxy_connect_timeout 600;
    proxy_send_timeout 600;
    proxy_read_timeout 600;


    include hosts.conf;
       server {
            listen       80;
            server_name  localhost;
            location / {
                root   html;
                add_header                  Set-Cookie "HttpOnly";
                add_header                  Set-Cookie "Secure";
                add_header                  X-Frame-Options "SAMEORIGIN";
                index  index.html index.htm;
        }
            
            location /nginx_status{  
                    stub_status on;
                    access_log off;
                    allow 127.0.0.1;
                    deny all;
             }
           }
           include vhosts/*.conf;
           #引用http的配置文件
     
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值