Centos系统Nginx安装与配置

centos环境配置

安装nginx需要依赖某些包,执行以下命令

yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

安装

下载nginx安装包并执行

//可自行更换版本
wget -c https://nginx.org/download/nginx-1.10.1.tar.gz
//解压
tar -zxvf nginx-1.10.1.tar.gz
//进入目录
cd nginx-1.10.1
//执行
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

启动命令

cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload

配置

配置nginx.service

//新建service文件
vim /usr/lib/systemd/system/nginx.service
//保存以下内容
[Unit]
Description=nginx-The High-performance HTTP Server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStartPre=/data/server/nginx/sbin/nginx -t -c /data/server/nginx/conf/nginx.conf
ExecStart=/data/server/nginx/sbin/nginx -c /data/server/nginx/conf/nginx.conf
ExecReload=/data/server/nginx/sbin/nginx -s reload
ExecStop=/data/server/nginx/sbin/nginx -s stop
ExecQuit=/data/server/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

//赋与操作权限
chmod +x /usr/lib/systemd/system/nginx.service
//启动/关闭/重启/开机自启
systemctl start nginx.service
systemctl stop nginx.service
systemctl restart nginx.service
systemctl enabled nginx.service

nginx配置文件参考


    worker_processes 2;
    worker_cpu_affinity 01 10;
    worker_rlimit_nofile 65535;

    events
    {
        use epoll;
        multi_accept on;
        accept_mutex on;
        accept_mutex_delay 500ms;
        worker_connections 1024;
    }


    http
    {
         include       mime.types;
         default_type  application/octet-stream;
         underscores_in_headers on;
         access_log off;
        #charset  utf-8;
         server_names_hash_bucket_size 128;
         
         sendfile on;
         tcp_nopush     on;
         tcp_nodelay on;
         # 日志格式
         log_format  main  '$remote_addr - $remote_user [$time_local] $request '
                      '"$status" $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for" "$request_time"';
         log_format  time  '$remote_addr\t$time_local\t$request_time\t$http_host\t$request\t$status';

         # rewrite_log on;
         # 处理时间
         keepalive_timeout 60;
         # 用户请求头的超时时间
         client_header_timeout 1m;
         # 用户请求体的超时时间
         client_body_timeout 1m;
         # 此指令设置NGINX能处理的最大请求主体大小。 如果请求大于指定的大小,则NGINX发回HTTP 413(Request Entity too large)错误。 如果服务器处理大文件上传,则该指令非常重要。
         client_max_body_size 4m;

         # proxy 用
         send_timeout 120;
         
         connection_pool_size 256;
         #为请求头分配一个缓冲区。 如果请求头大小大于指定的缓冲区,则使用large_client_header_buffers指令分配更大的缓冲区
         client_header_buffer_size 16k;
         #此指令规定了用于读取大型客户端请求头的缓冲区的最大数量和大小。 这些缓冲区仅在缺省缓冲区不足时按需分配。 当处理请求或连接转换到保持活动状态时,释放缓冲区
         large_client_header_buffers 4 32k;
         request_pool_size 64k;
         output_buffers 4 64k;
         postpone_output 1460;
         client_body_buffer_size 256k;

    	 fastcgi_intercept_errors on;	
         fastcgi_connect_timeout 300s;
         fastcgi_send_timeout 300s;
         fastcgi_read_timeout 300s;

         ## 这个不能大小   太小会常出502错误
         fastcgi_buffer_size 256k;
         fastcgi_buffers 8 256k;
         fastcgi_busy_buffers_size 256k;
         fastcgi_temp_file_write_size 256k;
    #     fastcgi_temp_path /dev/shm;
    #     fastcgi_intercept_errors on;

        #启用此指令将存储以下信息的缓存: 打开的文件描述符和相关元数据,如大小,修改时间等 文件和目录的存在 与查找相关的任何错误,例如“权限被拒绝”,“文件未找到”等
    #     open_file_cache max=50000 inactive=20s;
    #     # NGINX将在非活动时间段之后从高速缓存中清除元素。 此指令可用于配置最小访问次数以将元素标记为活动使用。 默认情况下,最小访问次数设置为1次或更多次
    #     open_file_cache_min_uses 1;
            #NGINX的open_file_cache保存信息的快照, 设置时间后将重新验证open_file_cache中的元素
    #     open_file_cache_valid 30s;
    #NGINX可以缓存在文件访问期间发生的错误。 但是这需要通过设置open_file_cache_errors指令来启用。 如果启用错误缓存,则在访问资源(不查找资源)时,NGINX会报告相同的错误
    #     open_file_cache_errors on;

         gzip on;
         gzip_min_length  4k;
         gzip_buffers     4 16k;
         gzip_http_version 1.1;
         gzip_comp_level 2;
         gzip_vary on;
         gzip_types       text/plain application/x-javascript text/css   application/xml text/javascript image/jpeg image/gif image/png;
         limit_conn_zone $binary_remote_addr zone=one:10m;

        #隐藏nginx版本信息
        server_tokens off;
        server {
                listen 80 default;
                return 403;
        location ~ .*.(svn|git|cvs) {
            deny all;
        }

        location / {
            root   html;
            index  index.html index.htm;
        }
        location = /50x.html {
            root   html;
        }
    }
    #禁用空主机头访问
     include  /work/server/nginx/sites-enabled/*.conf;
    }

实际配置文件参考

upstream nwpt-jenkins {
   server 127.0.0.1:9999;
}

server{
        #监听443端口
        listen 443 ssl;
        server_name jenkins.yasirit.top;
        #ssl on;
        ssl_certificate /work/server/ssl/yasirit.top/fullchain.crt;
        ssl_certificate_key /work/server/ssl/yasirit.top/private.pem;
        ssl_session_timeout 10m;
        ssl_session_cache shared:SSL:10m;
        ssl_protocols SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
        location / {
           proxy_pass http://nwpt-jenkins;
        }
}
server {
        listen 80;
        server_name jenkins.yasirit.top; 
        return	301 https://$server_name$request_uri;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值