Ubuntu20.04.LTS: 源码安装nginx


环境: Ubuntu20.04.LTS
nginx-1.21.6

删除之前装过的信息

如果从没安装过的,可以直接跳到安装部分

  1. 首先先检查之前安装的是否在启动中,ps -ef |grep nginx

  2. 关闭nginx进程,

sudo nginx -s quit
# 或kill命令: sudo kill  -9  7875 7876 7877
  1. 罗列出与nginx相关的软件
 dpkg --get-selections | grep nginx

  1. 删除
# purge删除配置文件
sudo apt-get purge nginx
sudo apt-get purge nginx-common # 卡住,直接输入y继续
sudo apt-get purge nginx-core
# 移除全部不使用的依赖包
sudo apt-get autoremove
$ dpkg --get-selections | grep nginx

  1. 全局查找与nginx相关的文件
sudo  find  /  -name  nginx*
  1. 删除查找到的关于nginx的文件
sudo rm -rf file

安装依赖

如果没有权限,需要加个sudo
安装Nginx依赖库,gzip模块需要 zlib 库,rewrite模块需要 pcre 库,ssl 功能需要openssl库。

  1. 安装gcc g++的依赖库
    Linux系统下的Gcc(GNU C Compiler)是GNU推出的功能强大、性能优越的多平台编译器

apt-get install build-essential
apt-get install libtool
  1. 安装 pcre依赖库
sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev
  1. 安装 zlib依赖库
apt-get install zlib1g-dev
  1. 安装 ssl依赖库
apt-get install openssl

安装

  1. curl -o nginx-1.21.6.tar.gz http://nginx.org/download/nginx-1.21.6.tar.gz在下载源码

  2. 创建一个安装nginx的目录(我的是services),并在这个目录下执行tar -zxvf nginx-1.21.6.tar.gz解压缩

  3. 配置:./configure --prefix=/usr/local/nginx ,出现这个就表示成功

  4. 编辑nginx:make

  5. 安装nginx:sudo make install

  6. 此时在usr/local/nginx/sbin目录: cd /usr/local/nginx/sbin

  7. 启动nginx ,sudo ./nginx

  8. 重启nginx,sudo ./nginx -s reload

  9. 查看nginx进程: ps -ef|grep nginx

配置环境变量

  1. vim /etc/profile进入编辑,按i编辑
  2. 在最后一行添加:export PATH="$PATH:/usr/local/nginx/sbin"
  • esc退出后,:wq退出并保存
  • 如果最后不能退出,是因为你是普通用户vim的,强制退出:q!后,在加个sudo重新编辑就行
  1. 重新激活配置的环境变量source /etc/profile
  2. 然后nginx启动,或者也可以nginx -v查看版本信息
  3. netstat -ntlp 查看启动情况,有nginx的进程表示成功。

Ubuntu下nginx常用命令

1、安装

sudo apt install nginx 

2、启动

sudo /etc/init.d/nginx start

3、重新加载配置项

nginx -s reload

4、关闭

sudo /etc/init.d/nginx quit

5、停止

nginx -s stop  # 快速停止nginx
nginx -s quit  # 完整有序的停止nginx,用这个好像可以完全停掉服务。我用stop之后,发现浏览器还能访问服务器

6、地址
(1)日志文件:

cd /var/log/nginx
  1. 查看nginx的进程
ps -ef | grep nginx
  1. 直接查看进程pid
ps -C nginx -o pid

参考1删除
参考2安装