源码下载地址
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。