CentOS 编译安装 nginx

CentOS 编译安装 nginx

修改 yum 源地址为 阿里云

bash 复制代码
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
bash 复制代码
yum makecache

升级内核和软件

bash 复制代码
yum -y update

安装常用软件和依赖

bash 复制代码
yum -y install gcc gcc-c++ make cmake zlib zlib-devel openssl openssl-devel pcre-devel vim net-tools man wget tar

创建用户用户组

bash 复制代码
groupadd nginx
useradd nginx -g nginx -s /sbin/nologin -M

下载并编译安装

下载

bash 复制代码
wget https://nginx.org/download/nginx-1.24.0.tar.gz

解压

bash 复制代码
tar -zxvf nginx-1.24.0.tar.gz

进入nginx源代码目录

bash 复制代码
cd nginx-1.24.0

预编译

bash 复制代码
./configure --prefix=/usr/local/nginx \
 --user=nginx --group=nginx \
 --with-http_stub_status_module --with-http_ssl_module \
 --with-http_realip_module --with-http_gzip_static_module \
 --with-file-aio --with-http_realip_module  

验证 是否 成功

bash 复制代码
echo $?

编译

bash 复制代码
make -j4 

验证 是否 成功

bash 复制代码
echo $?

安装

bash 复制代码
make -j4 install

验证 是否 成功

bash 复制代码
echo $?

ls 以下为验证程序步骤可忽略

bash 复制代码
/usr/local/nginx/sbin/nginx -v

/usr/local/nginx/sbin/nginx -t

# 启动nginx
/usr/local/nginx/sbin/nginx

# 重新载入配置文件
/usr/local/nginx/sbin/nginx -s reload  

# 快速关闭 Nginx
/usr/local/nginx/sbin/nginx -s stop

# 关闭Nginx
/usr/local/nginx/sbin/nginx -s quit                  

编写启动脚本

bash 复制代码
cd /usr/lib/systemd/system/
vim nginx.service
bash 复制代码
[Unit]
Description=nginx
After=network.target remote-fs.target nss-lookup.target
 
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPost=/bin/sleep 0.1
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target
bash 复制代码
# systemctl start|stop|reload|restart|status nginx.service

# 重新加载服务文件
systemctl daemon-reload 

# 启动 nginx 服务
systemctl start nginx.service

# 开机自启:
systemctl enable nginx.service

# 关闭开机自启:
systemctl disable nginx.service

防火墙开放端口

--zone 作用域

--add-port=80/tcp 添加端口

--permanent 永久生效

bash 复制代码
firewall-cmd --zone=public --add-port=80/tcp --permanent
bash 复制代码
firewall-cmd --reload

浏览器访问测试

http://服务器IP地址

相关推荐
绵羊20235 小时前
单细胞转录组测序上游——cellranger
linux
Hello.Reader7 小时前
Flink ExecutionConfig 实战并行度、序列化、对象重用与全局参数
java·大数据·flink
Awkwardx8 小时前
Linux系统编程—线程同步与互斥
linux·服务器
金融Tech趋势派8 小时前
企业微信AI SCRM推荐:从技术适配与场景功能实践进行评估
大数据·人工智能
snpgroupcn8 小时前
Adobe SAP S/4HANA 升级实践:企业规模化转型关键要素
运维·adobe·云计算
JZC_xiaozhong8 小时前
异构系统集成提速:重构企业数据流转架构
大数据·重构·架构·数据分析·etl工程师·数据集成与应用集成·异构数据整合
阿里云大数据AI技术8 小时前
PAI-DLC 支持一键提交 DataJuicer 任务,高效进行大规模多模态数据处理
大数据·人工智能
赖small强8 小时前
[Linux]内核队列实现详解
linux·kfifo·请求队列·工作队列(workqueue)·等待队列·kfifo_init
易晨 微盛·企微管家9 小时前
汽车行业SCRM:企业微信+服务商模式破解汽车服务行业痛点的案例分析
大数据·人工智能·汽车·产品运营·企业微信
www.0210 小时前
linux服务器升级显卡驱动(笔记)
linux·运维·服务器·笔记·ubuntu·服务器环境