Linux下制作Nginx绿色免安装包

举报
code2roc 发表于 2024/04/29 15:37:04 2024/04/29
【摘要】 linux下安装nginx比较繁琐,遇到内网部署环境更是麻烦,所以研究了下nginx绿色免安装版的部署包制作,开箱即用,特此记录分享,一下操作在centos8环境下安装,如果需要其他内核系统的安装(Debian/Ubuntu等),请在对应环境虚拟机下安装制作

前言

linux下安装nginx比较繁琐,遇到内网部署环境更是麻烦,所以研究了下nginx绿色免安装版的部署包制作,开箱即用,特此记录分享,一下操作在centos8环境下安装,如果需要其他内核系统的安装(Debian/Ubuntu等),请在对应环境虚拟机下安装制作

安装包制作

安装依赖

yum install gcc-c++ pcre perl git unzip  pcre-devel zlib zlib-devel openssl openssl-devel -y

安装nginx-portable

wget https://github.com/nuccch/nginx-portable/archive/master.zip;unzip master.zip
cd nginx-portable-master/

configure修改配置

这步主要为了后续注册为系统服务做准备,如果您只需要获取安装直接命令或脚本启动可跳过

如果不修改,注册为系统服务后会提示logs文件路径无法找到

将compile文件中的./configure --prefix=.部分修改为./configure --prefix=/usr/soft/nginx

执行编译

bash compile <nginx-version>

例如需要1.25.5版本,则执行语句为bash compile 1.25.5

获取安装包

编译完成后在build目录会生成nginx-1.25.5.tar.gz绿色免安装版,直接解压即可使用,示例命令如下

启动:cd /nginx/sbin && ./nginx
停止:./nginx -s stop
重启:./nginx -s reload
检查配置正确性:./nginx -t
查看Nginx版本信息:./nginx -v

脚本注册服务

脚本制作

将nginx-1.25.5.tar.gz中的内容解压,获取到sbin目录同级的所有内容重新打包成nginx-green.tar压缩文件

可使用7-Zip压缩

nginx-green.tar同级目录创建nginx.sh脚本,脚本内容如下

echo "start install"
cd /usr/soft/nginx
echo "in unzip" && tar -xvf nginx-green.tar && echo "unzip success"
cat > /etc/systemd/system/nginx.service <<EOF
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network.target
  
[Service]
Type=forking
ExecStart=/usr/soft/nginx/sbin/nginx -c /usr/soft/nginx/conf/nginx.conf
ExecStop=/usr/soft/nginx/sbin/nginx -s stop
ExecReload=/usr/soft/nginx/sbin/nginx -s reload
PrivateTmp=true
  
[Install]
WantedBy=multi-user.target
EOF
echo "create system service success"
systemctl daemon-reload
echo "reload system service setting success"
systemctl enable nginx
echo "setting nginx startup success"
systemctl start nginx
echo "start nginx success"

脚本使用

服务器创建/usr/soft/nginx目录

把nginx-green.tar和nginx.sh拷贝到/usr/soft/nginx中

进入目录

cd /usr/soft/nginx

脚本授权

chmod +x nginx.sh

执行注册

source nginx.sh

服务管理

启动:systemctl start nginx
查看:systemctl status nginx
停止:systemctl stop nginx
重启:systemctl reload nginx
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。