引言

建议使用普通权限安装

如果已经搭建过,有信心的,可以直接看这个,不用看下面啦

# 安装依赖
sudo yum -y install cmake gcc g++ ncurses-devel libtirpc-devel rpcgen libxml2-devel sqlite-devel libpng-devel oniguruma-devel wget pcre-devel vim

# 下载源码包
wget https://nginx.org/download/nginx-1.25.3.tar.gz

# 解压源码包
tar -xzvf nginx-1.25.3.tar.gz

# 预编译
./configure --prefix=安装目录 --user=用户名 --group=用户组 --with-http_ssl_module --with-http_stub_status_module

# 编译与安装
make
make install

# 开放端口
setcap cap_net_bind_service=+eip Nginx的可执行文件路径

下载

1. 下载源码包

nginx选择版本

选择一个你需要的版本,然后右键复制链接到服务器下载,也可以直接下载,然后上传到服务器

进入/server/sourceCode目录,我这是用来存放源码包的,你可以建一个自己喜欢的,然后使用wget下载源码包

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

2. 解压源码包

tar -xzvf nginx-1.25.3.tar.gz

使用ll命令查看当前文件夹,看有没有

nginx源码包目录

然后cd进入nginx源码包

编译安装

1. 预编译

预编译之前先安装nginx的安装目录

mkdir /server/nginx/1.25.3

安装依赖

sudo yum install -y pcre-devel zlib-devel openssl-devel

然后开始执行预编译命令

./configure --prefix=安装目录 --user=用户名 --group=用户组 --with-http_ssl_module --with-http_stub_status_module

这里命令的用户名和用户组两个参数可省略,这个是为了指定用户来启动的

看到这个就说明预编译成功了

nginx预编译成功

2. 编译

使用命令编译

make

对于 Nginx的源码包来说,常规编译速度还是很快的

3. 安装

make install

安装完成后使用ls命令查看安装目录下有没有出现文件,有的话就代表安装成功了

nginx安装目录

配置

1. 允许非root用户启动

在这时候使用非root用户启动nginx就会报错,网上的解释是,Nginx默认占用的是 80端口,在 Linux下,所有开放端口小于 1024的,都需要 root权限来执行,所以需要给这个文件提权

nginx执行文件进行提权

sudo setcap cap_net_bind_service=+eip /server/nginx/1.25.3/sbin/nginx

然后使用命令启动

./nginx

发现普通用户可以启动了,而且也可以查看到进程

nginx进程

在浏览器上输入 ip访问,发现也是能够正常出来 nginx的欢迎页面的

访问nginx

2. 全局执行

使用命令,给可执行文件nginx提供一个全局执行的方式

sudo ln -s /server/nginx/1.25.3/sbin/nginx /usr/local/bin/nginx

然后在全局使用nginx命令测试看能不能用

# 检查nginx配置文件
nginx -t

# 修改配置文件后,可重启nginx服务
nginx -s reload

# 优雅退出nginx
nginx -s quit

这里可以看到命令是可以用的

检查nginx命令是否可用

至此,nginx服务已经安装好了

好啦

Goodbye~

最后修改:2024 年 06 月 03 日
如果觉得我的文章对你有用,请随意赞赏