Linux Centos 7 安装配置nginx
参考: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 进程终止服务)