编译安装nginx

编译安装nginx

什么是nginx?

是一个高性能的HTTP服务器和方向代理服务器,特点就是占用少,并发能力强,在企业中基本使用nginx。

注意:推荐使用源码安装,因为可以下载最新的,yum安装可能不是最新的

1.下载nginx源码包

官网页面

https://nginx.org/en/download.html
下载到家目录里面

一般下载稳定版本

image-20251012160408952

或者命令行下载

wget https://nginx.org/download/nginx-1.28.0.tar.gz

image-20251012160952714

下载后查看并解压

ls

tar -zxvf nginx-1.28.0.tar.gz 

安装依赖

红帽系统,centons
yum install -y zlib pcre pcre-devel openssl-devel


ubt/debin
apt install -ylibpcre3 libpcre3-dev libssl-dev

如果出现没有这个的实不再提供 pcrepcre-devel

解决办法

sudo tee /etc/yum.repos.d/rocky8-tmp.repo <<'EOF'
[rocky8-base]
name=RockyLinux 8 - BaseOS
baseurl=https://mirrors.aliyun.com/rockylinux/8/BaseOS/x86_64/os/
gpgcheck=0
enabled=0
EOF
sudo dnf --enablerepo=rocky8-base install -y pcre-devel

然后检验一下

rpm -q pcre-devel

god@localhost:~$ rpm -q pcre-devel
pcre-devel-8.42-6.el8.x86_64

创建一个目录并进入一个目录

mkdir -p /app/tools/

god@localhost:~$ sudo mkdir -p /app/tools/
god@localhost:~$ ls
公共  文档  install-docker.sh                 wd
模板  下载  nginx-1.28.0
视频  音乐  nginx-1.28.0.tar.gz
图片  桌面  pcre-devel-8.42-4.el8.x86_64.rpm
god@localhost:~$ cd nginx-1.28.0/
god@localhost:~/nginx-1.28.0$ ls
auto                conf             html       SECURITY.md
CHANGES             configure        LICENSE    src
CHANGES.ru          contrib          man
CODE_OF_CONDUCT.md  CONTRIBUTING.md  README.md

编译安装

#1.configure 配置安装目录和运行的用户nginx

sudo ./configure --prefix=/app/tools/nginx-1.28.0/ --user=nginx --group=nginx

echo $?  检验有没有报错

#2.make编译
sudo make-j 1


3.sudo make install


4.删除解压压缩包和解压目录,未来的目录会在/app/tools/nginx-1.28.0/
god@localhost:~$ cd /app/tools/
god@localhost:/app/tools$ ls
nginx-1.28.0
god@localhost:/app/tools$ cd nginx-1.28.0/
god@localhost:/app/tools/nginx-1.28.0$ ls
conf  html  logs  sbin
god@localhost:/app/tools/nginx-1.28.0$ cd ../
god@localhost:/app/tools$ ls
nginx-1.28.0

image-20251012164011123

创建软链接

ln -s /app/tools/nginx-1.28.0/ /app/tools/nginx

查看nginx用户组和用户

id nginx

image-20251012164931870

创建nginx用户

sudo useradd -s /sbin/nologin -M nginx


god@localhost:/app/tools$ sudo useradd -s /sbin/nologin -M nginx
god@localhost:/app/tools$ id ngxin
id: "ngxin": 无此用户
god@localhost:/app/tools$ id nginx
uid=1001(nginx) gid=1001(nginx) 组=1001(nginx)

启动

检查80端口有没有被创建

ss -lntup |grep :80

找到可执行的程序
god@localhost:/app/tools$ ls
nginx  nginx-1.28.0
god@localhost:/app/tools$ 
god@localhost:/app/tools$ cd nginx
god@localhost:/app/tools/nginx$ cd sbin
god@localhost:/app/tools/nginx/sbin$ ls
nginx

 启动可执行程序
 sudo ./nginx


检查有没有正真被启动

god@localhost:/app/tools/nginx/sbin$ ps -ef |grep nginx
root        9676    2603  0 16:57 ?        00:00:00 nginx: master process /app/tools/nginx-1.28.0/sbin/nginx
nginx       9677    9676  0 16:57 ?        00:00:00 nginx: worker process
god         9682    3863  0 16:57 pts/0    00:00:00 grep --color=auto nginx

查看端口
sudo ss -lntp | grep :80


LISTEN 0      511          0.0.0.0:80        0.0.0.0:*    users:(("nginx",pid=9677,fd=6),("nginx",pid=9676,fd=6))

image-20251012170213241

成功打开

关闭nginx

pkill nginx
posted @ 2025-10-12 17:14  Godjian  阅读(17)  评论(0)    收藏  举报