網站首頁 編程語言 正文
經常安裝Nginx服務,有時候要安裝的版本不同就很煩,然后寫了一個可以自定義Nginx版本的腳本(嗯,在朋友的幫助下,哈哈)。
話不多少,內容如下:
#!/bin/bash #Nginx版本 ver=nginx-1.$2.$3 # 安裝目錄 in_dir="/app/$ver" #軟件存放目錄 dl_dir="/server" #最終運行目錄 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 <版本號> <小版本號> 例如:$0 install 19 3 下載的就是1.19.3版本 " ;; esac #if [ $# = 0 ];then # echo "使用 $0 后面加上小版本號進行部署:例如 $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
這個腳本可以實現用戶自己選擇想要安裝的Nginx版本
比如我想裝一個nginx-1.16.1版本,可以這樣做:
sh install_nginx.sh install 16 1
當然,如果你開始并不知道使用方法,直接執行了腳本,沒關系,有提示:
[root@localhost ~]# sh install_nginx.sh 使用方法 install_nginx.sh start|stop|restart|reload 安裝方法 install_nginx.sh install <版本號> <小版本號> 例如:install_nginx.sh install 19 3 下載的就是1.19.3版本
瞧,不光告訴了你怎么使用它安裝服務,還可以直接運行腳本進行管理當你剛安裝完成的時候默認是啟動的,你可以使用腳本進行關閉或重啟:
[root@localhost ~]# sh install_nginx.sh stop Nginx Stop successfully. [root@localhost ~]# sh install_nginx.sh reload
然后你可以修改配置后進行開啟:
[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.
查看它的狀態,看它是否在運行:
[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
相關推薦
- 2022-08-26 C語言數據結構之隊列的定義與實現_C 語言
- 2023-03-28 Python中的len()函數是什么意思_python
- 2022-12-09 C/C++中時間庫函數的使用詳解_C 語言
- 2022-07-09 python沒有gpu,如何改用cpu跑代碼_python
- 2022-09-04 go語言中的面向對象_Golang
- 2022-06-12 PostgreSQL數據庫事務插入刪除及更新操作示例_PostgreSQL
- 2022-12-31 C++淺析序列數據封裝與優化實現方法_C 語言
- 2023-01-13 Matlab常用的輸出命令disp與fprintf解讀_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支