網(wǎng)站首頁 編程語言 正文
經(jīng)常安裝Nginx服務(wù),有時(shí)候要安裝的版本不同就很煩,然后寫了一個(gè)可以自定義Nginx版本的腳本(嗯,在朋友的幫助下,哈哈)。
話不多少,內(nèi)容如下:
#!/bin/bash #Nginx版本 ver=nginx-1.$2.$3 # 安裝目錄 in_dir="/app/$ver" #軟件存放目錄 dl_dir="/server" #最終運(yùn)行目錄 run_dir=/app/nginx if [ ! -d $in_dir ];then mkdir -p $in_dir fi if [ ! -d $dl_dir ];then mkdir $dl_dir fi ##安裝nginx function nginx_install (){ yum -y install gcc gcc-c++ pcre-devel zlib-devel openssl-devel if [ $? -eq 0 ] then curl "http://nginx.org/download/$ver.tar.gz" -o $dl_dir/$ver.tar.gz && \ useradd -M -s /sbinlogin nginx && \ tar xf $dl_dir/$ver.tar.gz -C $dl_dir && \ cd $dl_dir/$ver ./configure --prefix=$in_dir --user=nginx --group=nginx && \ make && make install fi } function nginx_init (){ ln -s $in_dir $run_dir } function nginx_start (){ ps -ef |grep nginx |grep master if [ $? = 0 ];then echo "Nginx is Running." else if [ ! -e $run_dir/sbin/nginx ];then nginx_init fi $run_dir/sbin/nginx sleep 5 ps -ef |grep nginx |grep master if [ $? = 0 ];then echo "Nginx Start successfully." else echo "Nginx Failed to Start." fi fi } function nginx_stop (){ $run_dir/sbin/nginx -s quit sleep 5 ps -ef |grep nginx |grep master if [ $? != 0 ];then echo "Nginx Stop successfully." else echo "Nginx Failed to Stop." fi } function nginx_reload (){ $run_dir/sbin/nginx -s reload } main(){ nginx_install nginx_start } case $1 in install) nginx_install nginx_init nginx_start ;; start) nginx_start ;; stop) nginx_stop ;; restart) nginx_stop nginx_start ;; reload) nginx_reload ;; *) echo "使用方法" echo "$0 start|stop|restart|reload" echo "安裝方法" echo "$0 install <版本號(hào)> <小版本號(hào)> 例如:$0 install 19 3 下載的就是1.19.3版本 " ;; esac #if [ $# = 0 ];then # echo "使用 $0 后面加上小版本號(hào)進(jìn)行部署:例如 $0 19 3 下載的就是1.19.3版本" #else # echo "下載版本:1.$2.$3" # echo "安裝目錄:$in_dir" # echo "下載目錄:$dl_dir" # echo "Nginx installation..." # nginx_install # if [ $? != 0 ];then ## echo "Ngins installation Failed." # else # nginx_init # nginx_start # fi #fi
這個(gè)腳本可以實(shí)現(xiàn)用戶自己選擇想要安裝的Nginx版本
比如我想裝一個(gè)nginx-1.16.1版本,可以這樣做:
sh install_nginx.sh install 16 1
當(dāng)然,如果你開始并不知道使用方法,直接執(zhí)行了腳本,沒關(guān)系,有提示:
[root@localhost ~]# sh install_nginx.sh 使用方法 install_nginx.sh start|stop|restart|reload 安裝方法 install_nginx.sh install <版本號(hào)> <小版本號(hào)> 例如:install_nginx.sh install 19 3 下載的就是1.19.3版本
瞧,不光告訴了你怎么使用它安裝服務(wù),還可以直接運(yùn)行腳本進(jìn)行管理當(dāng)你剛安裝完成的時(shí)候默認(rèn)是啟動(dòng)的,你可以使用腳本進(jìn)行關(guān)閉或重啟:
[root@localhost ~]# sh install_nginx.sh stop Nginx Stop successfully. [root@localhost ~]# sh install_nginx.sh reload
然后你可以修改配置后進(jìn)行開啟:
[root@localhost ~]# sh install_nginx.sh start root 4236 1 0 14:23 ? 00:00:00 nginx: master process /app/nginx/sbin/nginx Nginx Start successfully.
查看它的狀態(tài),看它是否在運(yùn)行:
[root@localhost ~]# ss -utpln | grep nginx tcp LISTEN 0 128 *:80 *:* users:(("nginx",pid=4238,fd=6),("nginx",pid=4236,fd=6))
我們用瀏覽器來訪問一下吧!
可以看到Nginx的歡迎頁面,說明我們成功了!
原文鏈接:https://yyang.blog.csdn.net/article/details/115324436
相關(guān)推薦
- 2022-08-28 shell腳本之sed詳細(xì)用法詳解_linux shell
- 2022-07-14 Jquery+Ajax實(shí)現(xiàn)跨域訪問_jquery
- 2023-03-25 Python?self參數(shù)詳細(xì)介紹_python
- 2022-05-02 C/C++的各種字符串函數(shù)你知道幾個(gè)_C 語言
- 2022-03-14 移動(dòng)端rem適配(rem怎么適配不同的手機(jī))
- 2022-09-24 C語言利用面試真題理解指針的使用_C 語言
- 2022-06-14 GO語言結(jié)構(gòu)體面向?qū)ο蟛僮魇纠齙Golang
- 2022-05-21 Python內(nèi)置數(shù)據(jù)類型中的集合詳解_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支