安装方式
- yum(CentOS)
- apt-get(ubuntu)
- brew(mac)
- wget+make(通用)
在ubuntu中使用make安装会有很多包不存在,需要手动去安装。在mac中使用make安装会有很多权限相关的问题,建议直接使用brew。 ubuntu需要安装的一些常见的包,持续更新!
apt-get
apt-get updateapt-get install nginx -y
yum
yum install nginx -y
brew
# 首先安装brew# https://brew.sh/# 没有科学的同学,百度下国内版本/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"# 安装nginxbrew install nginx
编译安装
download

- Mainline version
最新的版本 - Stable version
稳定的版本 - Legacy versions
历史版本
我们选择稳定的版本: nginx-1.20.0
wget https://nginx.org/download/nginx-1.20.0.tar.gz

解压
tar -xzf nginx-1.20.0.tar.gz
-x 从压缩文件中还原文件。
-z 通过 gzip 指令处理压缩文件。
-f 指定压缩文件。
具体可以查看
tar的命令
编译
参数介绍
./configure --help | more

nginx 执行过程中会找哪些目录下的哪些文件,做为他的辅助文件。
如果没有任何变动,只需要指定 --prefix 这个参数就行。

在执行过程中表示使用或者不使用哪些文件。一般以 with 或者 without 开头。
with开头的模块默认是不会打包进 nginx 中的。加了代表会被打包进去
without开头的默认会被编译进 nginx 中的。加了表示会被移除

nginx 编译中需要的一些特殊的参数,比如用到了 gcc 编译时候需要加一些参数、或者需要打印 debug 级别的日志。
默认编译
./configure --prefix=/home/kaikeba/nginx
代表使用的是默认编译,编译到目录 /home/kaikeba/nginx 。

make 编译
make
如果没有任何错误,就编译完成了,生成了大量的中间文件,并最终生成了可以运行的 nginx 二进制文件。可以在 objs 目录查看。
nginx 的目标文件放在 objs/nginx 这里。
如果我们要对 nginx 进行升级,不能执行 make install. 需要在objs目录把 nginx 执行文件 copy 到安装目录中。
c 语言编译时生成的所有中间文件,都会放在 objs/src 目录。
如果使用动态模块编译,会生成对应的 .so 文件也会放在 objs 目录下。
make install
首次安装时候使用这个命令。
安装完毕以后
cd /home/kaikeba/nginx
这里就是之前指定的安装目录。
- sbin
执行文件目录 - conf
配置文件目录,默认是从之前源码的 conf 目录中 copy 了一份过来 - logs
日志目录 - html
默认的网页目录
软连接
因为我们 --prefix 指定的安装目录不是 /usr/bin/nginx,所以需要软连接到执行目录之后才能全局使用。
ln -s /home/kaikeba/nginx/sbin/nginx /usr/bin
启动nginx
nginx# 或service nginx start
卸载nginx
apt-get
# 停止nginx服务sudo service nginx stop# 删除除了配置文件以外的所有文件。sudo apt-get remove nginx nginx-common# 删除所有与nginx有关的东西,包括配置文件。sudo apt-get purge nginx nginx-common# 在上面命令结束后执行,主要是删除与Nginx有关的且不再被使用的依赖包。sudo apt-get autoremove# 删除两个主要的包。sudo apt-get remove nginx-full nginx-common
yum
- 先停止 nginx 服务
sudo service nginx stop
相当于
sudo systemctl stop nginx.service
- 删除 nginx 的自动启动
chkconfig nginx off
systemctl disable nginx.service
- 删除 Nginx 本地文件
# 其实在执行yum remove nginx的时候,会清理 /usr/sbin/nginxrm -rf /usr/sbin/nginxrm -rf /etc/nginxrm -rf /etc/init.d/nginx
- yum 清理
yum remove nginx
brew
sudo service nginx stopbrew uninstall nginx# 最后根据提示删除对应的相关配置文件即可。
卸载通过make安装的
# 停止nginx服务sudo service nginx stop# 或nginx -s quit# 或ps aux | grep nginxkill -9 pid# 删除软连接rm -rf /usr/bin/nginx# 删除nginx目录rm -rf /home/kaikeba/nginx# 删除其他比如日志文件等文件# ...
