Deepin Linux v20+編譯安裝最新版nginx 1.19.6原始碼包
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。