1. 程式人生 > 其它 >Deepin Linux v20+編譯安裝最新版nginx 1.19.6原始碼包

Deepin Linux v20+編譯安裝最新版nginx 1.19.6原始碼包

技術標籤:Linuxlinuxnginxdeepin

Nginx最新版純手工編譯安裝+開機自啟動

原始碼下載地址

apt源裡面自帶的軟體通常都比較老,新的非常少。所以我大部分的軟體都是自行下載原始碼編譯安裝,我會逐步的分享各類軟體的安裝過程,方便有需要的人可以根據我的教程安裝上自己需要的軟體,那麼廢話不多說,開始吧!

nginx的官方原始碼包的下載地址:http://nginx.org/download/

由於軟體會不定期更新,我寫這篇文章的時候目前的最新版還是1.19.6,可能你看到的時候已經不是最新的,不過安裝方法是完全一樣的,所以提供上面的地址,你可以自己進去找最新的,因為nginx的版本非常多,所以建議你找的時候檢視軟體原始碼包的上傳時間來確定最新版本,或者到官網檢視最新版也行。下面開始下載安裝。

準備工作

編譯之前推薦大家先把編譯C/C++程式碼需要用到的基礎依賴都安裝上,不同的軟體需要的基礎依賴會有所不同,但最基本的make、gcc、g++,這3個是必須的,大部分軟體都會用到,所以先安裝這3個貨吧!

sudo apt install gcc g++ make -y

編譯安裝

如果已經安裝過的可以忽略上面這一步,進行下面的步驟:

wget http://nginx.org/download/nginx-1.19.6.tar.gz
tar -zxvf nginx-1.19.6.tar.gz
cd nginx-1.19.6
./configure --prefix=/usr/local/nginx --sbin-path=/usr/bin/nginx --conf-path=/etc/nginx/nginx.conf

(注意:prefix可以修改成你自己想要儲存的路徑)
make
sudo make install

通常情況下,在Deepin v20+的版本中,這個過程中不太會有缺少依賴的情況,至於其他發行版linux和低版本的Deepin我就不知道了,這個需要大家測試,如果有缺少依賴的你可以看下報的錯誤,然後安裝必須的依賴即可。

最後,我們檢視一下nginx的版本吧!

nginx -v

在這裡插入圖片描述

安裝自啟動服務

當你看到上面的資訊就證明你已經安裝成功了,下面就是註冊nginx啟動服務指令碼了,啟動指令碼需要注意,需要根據你安裝的nginx路徑來調整,下面的指令碼,所以我推薦使用預設的/usr/local/nginx這個路徑,你就可以直接copy指令碼使用,而無需做任何修改了。執行下述命令:

sudo vim /etc/init.d/nginx

複製如下指令碼內容(需要根據自己的nginx安裝路徑來調整,如果預設用我上面提供的命令,未做任何修改的,可以直接複製下面的指令碼使用。)

#! /bin/sh

### BEGIN INIT INFO
# Provides:          nginx
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the nginx web server
# Description:       starts nginx using start-stop-daemon
### END INIT INFO


PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/nginx  #(執行檔案路徑,如果沒有新增,需要指向安裝路徑目錄下的sbin目錄裡面的nginx執行檔案,複製到自己電腦上以後,請刪除這段註釋。)
NAME=nginx
DESC=nginx

test -x $DAEMON || exit 0

# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
        . /etc/default/nginx
fi

set -e

case "$1" in
  start)
        echo -n "Starting $DESC: "
        start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
                --exec $DAEMON -- $DAEMON_OPTS
        echo "$NAME."
        ;;
  stop)
        echo -n "Stopping $DESC: "
        start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
                --exec $DAEMON
        echo "$NAME."
        ;;
  restart|force-reload)
        echo -n "Restarting $DESC: "
        start-stop-daemon --stop --quiet --pidfile \
                /usr/local/nginx/logs/$NAME.pid --exec $DAEMON
        sleep 1
        start-stop-daemon --start --quiet --pidfile \
                /usr/local/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
        echo "$NAME."
        ;;
  reload)
      echo -n "Reloading $DESC configuration: "
      start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
          --exec $DAEMON
      echo "$NAME."
      ;;
  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

exit 0

完整解除安裝

nginx的配置檔案在/etc/nginx目錄下,和你用apt安裝的nginx用法是完全一樣的,當你需要更新新版的時候上述步驟再執行一次即可。當需要刪除整個nginx的時候,只需要執行下面的命令即可。

sudo rm -rf /etc/nginx
sudo rm -rf /usr/local/nginx
sudo rm -f /usr/bin/nginx
sudo rm -f /etc/init.d/nginx

這樣,就完整刪除了nginx。