编译安装nginx
什么是nginx?
是一个高性能的HTTP服务器和方向代理服务器,特点就是占用少,并发能力强,在企业中基本使用nginx。
注意:推荐使用源码安装,因为可以下载最新的,yum安装可能不是最新的
1.下载nginx源码包
官网页面
https://nginx.org/en/download.html
下载到家目录里面
一般下载稳定版本
或者命令行下载
wget https://nginx.org/download/nginx-1.28.0.tar.gz
下载后查看并解压
lstar -zxvf nginx-1.28.0.tar.gz
安装依赖
红帽系统,centons
yum install -y zlib pcre pcre-devel openssl-develubt/debin
apt install -ylibpcre3 libpcre3-dev libssl-dev
如果出现没有这个的实不再提供 pcre
和 pcre-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-develgod@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 配置安装目录和运行的用户nginxsudo ./configure --prefix=/app/tools/nginx-1.28.0/ --user=nginx --group=nginxecho $? 检验有没有报错#2.make编译
sudo make-j 13.sudo make install4.删除解压压缩包和解压目录,未来的目录会在/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
创建软链接
ln -s /app/tools/nginx-1.28.0/ /app/tools/nginx
查看nginx用户组和用户
id nginx
创建nginx用户
sudo useradd -s /sbin/nologin -M nginxgod@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 :80LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=9677,fd=6),("nginx",pid=9676,fd=6))
成功打开
关闭nginx
pkill nginx