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

来源:https://www.cnblogs.com/xiongyoutom/archive/2018/04/10/8777236.html
-Advertisement-
Play Games

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 ...


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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1. 右鍵點擊任務管理器 2.打開資源監視器 3.搜索任務,結束任務(可能會死機) ...
  • linux 在整個架構上可以看作是三層: 1.底層代碼, (引導層strip) 跟硬體溝通的那一層的代碼(可能是彙編+c), 驅動底層的; strain: n./v. 拉緊, 張力, 氣質, 風格, 樂曲(這個詞的意思很多): 中間層代碼, OS層,用來管理文件系統,記憶體,作業調度等. 裡面的實現包 ...
  • 今天在知乎上看到一篇十分有趣的問題: 如何評價微軟高級工程師痴迷於soft link這一linux常見概念? 雖然又是知名撕逼王曾某的撕逼帖,但是我還是想就題目中鏈接的問題簡單地講講。 什麼是鏈接? 鏈接簡單說實際上是一種文件共用的方式,是 POSIX 中的概念,主流文件系統都支持鏈接文件。 它是用 ...
  • umask使用方法 A 什麼是umask? 當我們登錄系統之後創建一個文件總是有一個預設許可權的,那麼這個許可權是怎麼來的呢?這就是umask乾的事情。umask設置了用戶創建文件的預設 許可權,它與chmod的效果剛好相反,umask設置的是許可權“補碼”,而chmod設置的是文件許可權碼。一般在/etc/ ...
  • 一.續Centos7下部署Node,Nginx安裝部署: Nginx選擇安裝的是編譯版(附下載地址:https://nginx.org/download/),根據自己的系統環境選擇。 1.進入保存下載文件的路徑,cd進入文件保存路徑,命令: cd /usr/local/src 2.下載文件,我這選擇 ...
  • 一、 三極體簡介 種類 根據構成三極體中的三塊半導體類型的不同,有NPN型和PNP型兩種;根據材料的不同有硅管和鍺管兩種,常見的硅管,Vbe間的壓降是0.7V,鍺管則是0.2V。 作用 三極體有三種狀態,放大、截止和飽和,是一種控制電流的半導體器件。利用不同的狀態特性,三極體的主要作用有兩個: 1. ...
  • LCOW containers can now be run next to Windows containers.Use '--platform=linux' in Windows container mode to run Linux images.This is an experimental ...
  • 1.在任務欄右擊-任務管理器 2. ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...