在 Ubuntu 上使用原始碼安裝 OpenResty

哈哈哈hh發表於2021-12-21

映象下載、域名解析、時間同步請點選  阿里雲開源映象站

本文將介紹如何在 Ubuntu 上使用原始碼安裝 OpenResty。

目標

  • Ubuntu 18.04
  • OpenResty 1.19.3.2

安裝依賴

zlib1g-dev: the HTTP gzip module requires the zlib library.

apt-get update -y
apt-get install -y libpcre3-dev \
  libssl-dev \
  perl \
  make \
  build-essential \
  curl \
  zlib1g-dev</pre>

下載 OpenResty

cd /opt
curl -LO 
tar zxf openresty-1.19.3.2.tar.gz</pre>

安裝 OpenResty

.configure \
  --with-http_gzip_static_module \
  --with-http_v2_module \
  --with-http_stub_status_module
make
make install</pre>

使用 systemd 管理 OpenResty 服務

編寫 Service 檔案

在  /usr/lib/systemd/system 目錄下建立一個  openresty.service 檔案,檔案內容如下:

# Stop dance for OpenResty# =========================## ExecStop sends SIGSTOP (graceful stop) to OpenResty's nginx process.# If, after 5s (--retry QUIT/5) nginx is still running, systemd takes control# and sends SIGTERM (fast shutdown) to the main process.# After another 5s (TimeoutStopSec=5), and if nginx is alive, systemd sends# SIGKILL to all the remaining processes in the process group (KillMode=mixed).## nginx signals reference doc:# [Unit]
Description=The OpenResty Application Platform
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/openresty/nginx/logs/nginx.pid
ExecStartPre=/usr/local/openresty/nginx/sbin/nginx -t -q -g 'daemon on; master_process on;'ExecStart=/usr/local/openresty/nginx/sbin/nginx -g 'daemon on; master_process on;'ExecReload=/usr/local/openresty/nginx/sbin/nginx -g 'daemon on; master_process on;' -s reload
ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /usr/local/openresty/nginx/logs/nginx.pid
TimeoutStopSec=5
KillMode=mixed
[Install]
WantedBy=multi-user.target</pre>

啟動 OpenResty

# 設定自啟動systemctl enable openresty# 啟動 OpenRestysystemctl start openresty# 檢視 OpenResty 服務狀態systemctl status openresty
● openresty.service - The OpenResty Application Platform
   Loaded: loaded (/usr/lib/systemd/system/openresty.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2021-07-10 11:36:07 CST; 26min ago
  Process: 12735 ExecStart=/usr/local/openresty/nginx/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 12734 ExecStartPre=/usr/local/openresty/nginx/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 12736 (nginx)
    Tasks: 2 (limit: 1126)
   CGroup: /system.slice/openresty.service
           ├─12736 nginx: master process /usr/local/openresty/nginx/sbin/nginx -g daemon on; master_process on;
           └─12737 nginx: worker process
Jul 10 11:36:07 iZj6c0qglm7rjjctj7zxnfZ systemd[1]: Starting The OpenResty Application Platform...
Jul 10 11:36:07 iZj6c0qglm7rjjctj7zxnfZ systemd[1]: openresty.service: Failed to parse PID from file /usr/local/openresty/nginx/logs/nginx.pid:
Jul 10 11:36:07 iZj6c0qglm7rjjctj7zxnfZ systemd[1]: Started The OpenResty Application Platform.</pre>

一鍵安裝指令碼

GitHub Gist

本文轉自:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70003733/viewspace-2848635/,如需轉載,請註明出處,否則將追究法律責任。

相關文章