Ubuntu20.04.LTS: 源码安装nginx
环境: Ubuntu20.04.LTS
nginx-1.21.6
删除之前装过的信息
如果从没安装过的,可以直接跳到安装部分
-
首先先检查之前安装的是否在启动中,
ps -ef |grep nginx
-
关闭nginx进程,
sudo nginx -s quit # 或kill命令: sudo kill -9 7875 7876 7877
- 罗列出与nginx相关的软件
dpkg --get-selections | grep nginx
- 删除
# 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
- 全局查找与nginx相关的文件
sudo find / -name nginx*
- 删除查找到的关于nginx的文件
sudo rm -rf file
安装依赖
如果没有权限,需要加个sudo
安装Nginx依赖库,gzip模块需要 zlib 库,rewrite模块需要 pcre 库,ssl 功能需要openssl库。
- 安装gcc g++的依赖库
Linux系统下的Gcc(GNU C Compiler)是GNU推出的功能强大、性能优越的多平台编译器
apt-get install build-essential apt-get install libtool
- 安装 pcre依赖库
sudo apt-get update sudo apt-get install libpcre3 libpcre3-dev
- 安装 zlib依赖库
apt-get install zlib1g-dev
- 安装 ssl依赖库
apt-get install openssl
安装
-
curl -o nginx-1.21.6.tar.gz http://nginx.org/download/nginx-1.21.6.tar.gz
在下载源码 -
创建一个安装nginx的目录(我的是services),并在这个目录下执行
tar -zxvf nginx-1.21.6.tar.gz
解压缩 -
配置:
./configure --prefix=/usr/local/nginx
,出现这个就表示成功
-
编辑nginx:
make
-
安装nginx:
sudo make install
-
此时在usr/local/nginx/sbin目录:
cd /usr/local/nginx/sbin
-
启动nginx ,
sudo ./nginx
-
重启nginx,
sudo ./nginx -s reload
-
查看nginx进程:
ps -ef|grep nginx
配置环境变量
vim /etc/profile
进入编辑,按i
编辑- 在最后一行添加:
export PATH="$PATH:/usr/local/nginx/sbin"
- esc退出后,
:wq
退出并保存 - 如果最后不能退出,是因为你是普通用户vim的,强制退出
:q!
后,在加个sudo
重新编辑就行
- 重新激活配置的环境变量
source /etc/profile
- 然后
nginx
启动,或者也可以nginx -v
查看版本信息 netstat -ntlp
查看启动情况,有nginx的进程表示成功。
Ubuntu下nginx常用命令
1、安装
sudo apt install nginx
2、启动
2022-6-8:亲自试了一下,发现/etc/init.d这个目录下没有nginx文件。。。。
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
- 查看nginx的进程
ps -ef | grep nginx
- 直接查看进程pid
ps -C nginx -o pid
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通