編譯安裝基於nginx與lua的高效能web平臺-openresty

天府熊大發表於2018-04-10

1、首先編譯安裝nginx(不多說)

2、開始安裝openresty

cd /usr/local/src

wget https://openresty.org/download/openresty-1.11.2.2.tar.gz

tar xf openresty-1.11.2.2.tar.gz

cd openresty-1.11.2.2/

編譯開始

–prefix=/usr/local/nginx –sbin-path=/usr/sbin/nginx –conf-path=/usr/local/nginx/nginx.conf –pid-path=/usr/local/nginx/log/nginx.pid –error-log-path=/usr/local/nginx/log/error.log –http-log-path=/usr/local/nginx/log/access.log –lock-path=/var/lock/nginx.lock –with-luajit –with-http_gunzip_module –with-pcre –with-pcre-jit –with-http_perl_module –with-ld-opt=”-Wl,-E” –with-http_realip_module –with-http_secure_link_module –with-http_slice_module –with-http_ssl_module –with-http_stub_status_module –with-http_sub_module –with-http_v2_module –with-http_addition_module –with-http_xslt_module –with-http_image_filter_module –with-http_geoip_module –with-http_dav_module –with-http_flv_module –with-http_mp4_module –with-http_gzip_static_module –with-http_auth_request_module –with-http_random_index_module –with-select_module –with-poll_module –with-file-aio –with-http_degradation_module –with-libatomic –http-client-body-temp-path=/var/tmp/nginx/client_body –http-proxy-temp-path=/var/tmp/nginx/proxy –http-fastcgi-temp-path=/var/tmp/nginx/fastcgi –http-uwsgi-temp-path=/var/tmp/nginx/uwsgi –http-scgi-temp-path=/var/tmp/nginx/scgi

編譯過程中會出現各種確實庫和模組的錯誤,根據提示自行補充缺少的依賴庫和模組。

安裝

gmake && gmake install

檢視是否安裝成功:

nginx -v

建立目錄

mkdir -p /var/tmp/nginx

配置

user                                    nginx;
pid                                     /var/run/nginx.pid;
 
worker_processes                        2;
worker_rlimit_nofile                    65534;
 
events {
    use                                 epoll;
    worker_connections                  65534;
    multi_accept                        on;
}
 
http {
    client_body_buffer_size             16k;
    client_body_timeout                 30s;
    client_header_buffer_size           2k;
    large_client_header_buffers         4 16k;
    client_header_timeout               30s;
    client_max_body_size                8m;
    keepalive_timeout                   300;
    output_buffers                      2 16k;
    send_timeout                        60s;
    server_names_hash_bucket_size       128;
    reset_timedout_connection           on;
 
#gzip
    gzip on;
    gzip_min_length                     512;
    gzip_buffers                        16 4k;
    gzip_comp_level                     4;
    gzip_proxied                        any;
 
#cache
    open_file_cache                     max=204800 inactive=60s;
    open_file_cache_errors              on;
    open_file_cache_min_uses            1;
    open_file_cache_valid               60s;
 
#proxy
    proxy_buffer_size                   32k;
    proxy_buffers                       8 32k;
    proxy_busy_buffers_size             32k;
    proxy_cache_path                    /var/tmp/nginx/proxy_cache levels=1:2 keys_zone=content:200m inactive=30d max_size=10g;
    proxy_cache_path                    /var/tmp/nginx/proxy_cache/enginx levels=1:2 keys_zone=enginx:200m inactive=30d max_size=10g;
    proxy_cache_key                     $host$proxy_host$uri$is_args$args;
    proxy_connect_timeout               60s;
    proxy_read_timeout                  300s;
    proxy_send_timeout                  300s;
    proxy_temp_file_write_size          32k;
    proxy_temp_path                     /var/tmp/nginx/proxy_temp;
    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_set_header                    X-Scheme $scheme;
    proxy_set_header                    Accept-Encoding ``;
    real_ip_header                      X-Forwarded-For;
 
#log
    log_format main                    `$remote_addr - $remote_user [$time_local] "$request" $http_host ` 
                                        `$status $body_bytes_sent "$http_referer" `
                                        `"$http_user_agent" "$http_x_forwarded_for" `
                                        `$upstream_addr $upstream_status $upstream_cache_status "$upstream_http_content_type" $upstream_response_time > $request_time`;
 
    open_log_file_cache                 max=204800 inactive=20s valid=1m min_uses=1;
    error_log                           /var/log/nginx/error.log error;
 
#host configure file
    include                             /usr/local/nginx/conf.d/*.ngx.conf;
 
#main configure
    server_tokens                       off;
    sendfile                            off;
    tcp_nopush                          on;
    tcp_nodelay                         off;
    charset                             utf-8;
    include                             /usr/local/nginx/mime.types;
    default_type                        text/html;
}

建立目錄

mkdir /usr/local/nginx/conf.d

新建檔案

local.ngx.conf

server {
 
    listen                  80;
 
    server_name             www.web-t1.t.com;
 
    return 301 http://web-t1.t.com$request_uri;
 
}
 
server {
 
    listen                  80;
 
    server_name             web-t1.t.com;
 
    root                    /usr/local/html/web-t1.t.com/public_html/;
 
    access_log              /usr/local/html/web-t1.t.com/logs/ngx_access.log main;
 
    location / {
 
        index               index.html;
 
    }
 
}

啟動測試停止nginx: nginx  、nginx -t 、nginx -s stop

相關文章