#!/bin/bash
# 定义变量
NGINX_VERSION="1.25.3"
NGINX_SRC_DIR="/server/data/packages"
NGINX_INSTALL_DIR="/server/nginx/$NGINX_VERSION"
NGINX_USER="nginx"
# 创建目录
mkdir -p $NGINX_SRC_DIR
cd $NGINX_SRC_DIR
# 下载nginx源码包
wget https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz
if [ $? -ne 0 ]; then
echo "Error downloading nginx source package."
exit 1
fi
# 解压源码包
tar -xzvf nginx-$NGINX_VERSION.tar.gz
if [ $? -ne 0 ]; then
echo "Error extracting nginx source package."
exit 1
fi
# 进入解压后的目录
cd nginx-$NGINX_VERSION
# 安装依赖项
sudo yum install -y zlib-devel openssl-devel pcre pcre-devel
if [ $? -ne 0 ]; then
echo "Error installing dependencies."
exit 1
fi
# 创建安装目录
sudo mkdir -p $NGINX_INSTALL_DIR
# 添加nginx用户(如果尚未存在)
id $NGINX_USER || useradd $NGINX_USER -s /sbin/nologin -M
# 配置nginx
./configure --prefix=$NGINX_INSTALL_DIR --user=$NGINX_USER --group=$NGINX_USER --with-http_ssl_module --with-http_stub_status_module
if [ $? -ne 0 ]; then
echo "Error configuring nginx."
exit 1
fi
# 编译和安装nginx
make
if [ $? -ne 0 ]; then
echo "Error compiling nginx."
exit 1
fi
sudo make install
if [ $? -ne 0 ]; then
echo "Error installing nginx."
exit 1
fi
# 启动nginx
cd $NGINX_INSTALL_DIR/sbin/
sudo ./nginx
# 检查nginx是否监听80端口
netstat -nltp | grep :80
if [ $? -ne 0 ]; then
echo "Nginx is not listening on port 80."
else
echo "Nginx is running and listening on port 80."
fi
echo "nginx版本号是:"
/server/nginx/1.25.3/sbin/nginx -v