参考:https://www.cnblogs.com/boonya/p/7907999.html
环境准备:
1.安装gcc编译器
# yum install -y gcc
2.安装 pcre pcre-devel
# yum install -y pcre pcre-devel
3.安装zlib
# yum install -y zlib zlib-devel
4.安装openssl
# yum install -y openssl openssl-devel
5. 下载nginx源码包
# wget https://nginx.org/download/nginx-1.15.6.tar.gz
6. 解压
# tar -zxvf nginx-1.15.6.tar.gz
# cd nginx-1.15.6
7.配置安装
# mkdir -p /app/nginx
# mkdir -p /var/temp/nginx/
# mkdir -p /var/cache/nginx/cache
# ./configure \
--prefix=/app/nginx \--conf-path=/app/nginx/conf/nginx.conf \--pid-path=/app/nginx/conf/nginx.pid \--lock-path=/var/lock/nginx.lock \--error-log-path=/var/log/nginx/error.log \--http-log-path=/var/log/nginx/access.log \--with-http_stub_status_module \--with-http_gzip_static_module \--with-http_realip_module \--with-http_sub_module \--with-http_ssl_module \--http-client-body-temp-path=/var/temp/nginx/client \--http-proxy-temp-path=/var/temp/nginx/proxy \--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \--http-scgi-temp-path=/var/temp/nginx/scgi
# make && make install
安装完成
修改配置文件
#vim /app/nginx/conf/nginx.conf
user root root;
worker_processes auto;error_log /var/log/nginx/error.log;pid /run/nginx.pid;worker_rlimit_nofile 65535;events {
worker_connections 65535; multi_accept on; use epoll;}http {
include mime.types; default_type application/octet-stream; server_tokens off; server_names_hash_bucket_size 128; client_header_buffer_size 32k; large_client_header_buffers 4 32k; client_max_body_size 20m; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 30;log_format main "[$time_local] - " "$request - " "$status - " "$request_time - " "$body_bytes_sent - " "$http_referer - " "$sent_http_location - " "$http_user_agent - " "$remote_addr - " "$http_x_forwarded_for - " "$upstream_addr - " "$upstream_status - " "$upstream_response_time - ";
access_log /var/log/nginx/access.log main;gzip on;
gzip_comp_level 2; gzip_http_version 1.1; gzip_types text/plain application/x-javascript text/css application/xml text/javascript; gzip_proxied any; gzip_vary on;#如果主机内存空间不大,请调整红色的值
proxy_cache_path /var/cache/nginx/cache levels=1:2 keys_zone=tmp_cache:1024m inactive=20m max_size=1024m;
add_header X-Frame-Options SAMEORIGIN;
proxy_next_upstream error timeout; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout 180; proxy_send_timeout 180; proxy_read_timeout 180; proxy_buffer_size 8k; proxy_buffers 8 64k; proxy_busy_buffers_size 128k; proxy_temp_file_write_size 128k;include /app/nginx/conf/conf.d/*.conf;
}# mkdir -p /app/nginx/conf/conf.d/
具体的应用请在/app/nginx/conf/conf.d/下添加配置文件配置:
例如图片服务器:
# vim /app/nginx/conf/conf.d/example-pic.conf
server {
listen 8080; server_name *.example.com 192.168.11.11; access_log /var/log/nginx/example-pic.access.log main; error_log /var/log/nginx/example-pic.error.log;location ^~ /pic {
expires 24h; alias /app/static/images; proxy_store on; proxy_store_access user:rw group:rw all:rw; proxy_temp_path /app/static/temp/; proxy_redirect off; proxy_set_header Host 127.0.0.1; client_max_body_size 10m; client_body_buffer_size 1280k; proxy_connect_timeout 900; proxy_send_timeout 900; proxy_read_timeout 900; proxy_buffer_size 40k; proxy_buffers 40 320k; proxy_busy_buffers_size 640k; proxy_temp_file_write_size 640k; if ( !-e $request_filename) { proxy_pass http://192.168.11.11; } }}# /app/nginx/sbin/nginx (运行程序,启动服务)
# ln -s /app/nginx/sbin/nginx /bin/nginx
# nginx -t (检测配置文件是否存在错误)
#nginx -s reload (新增服务代理后重新加载配置文件)
# nginx stop (或 kill 进程终止服务)