NginxをWindowsのコマンドラインから操作するバッチファイル
手動でコマンドラインから立ち上げると停止する時が一々面倒だったのでgithubで公開されていたバッチファイルを基に自分が使いやすい様に修正してみた。
NginxはTLSv1.2に対応しないサーバーアプリをTLSv1.2に対応させるべくSSL Offloadして使用できるかテスト中。
主に04webServerとxmailで試して今の所は問題なく動作している。
xmailはTLSv1で対応が止まっていてアップデートは期待出来無さそうなのと04WebServerは一応作者がリクエストを受けて対応するみたいだがいつになるか分からないので。
ブラウザがアップデート入ってTLSv1.2に対応しないサイトへ接続出来なくなったんですよね...
SSL Offloadの件はその内記事にする予定。
バッチファイル公開元URL:(中国語です)
https://github.com/aitlp/nginx-service-bat/blob/master/nginx.bat
以下私が修正したバッチファイル内容
-----------------------------------------------------------------------------------------------
@echo off
rem Windows上でNginxの起動・再起動・終了機能を提供
echo ==================begin========================
cls
rem nginxのディスクディレクトリ
set NGINX_PATH=C:
rem nginxのディレクトリ
set NGINX_DIR=C:\nginx-1.20.2\
color 0a
TITLE Nginxサービスマネジメントコンソール
CLS
echo.
echo. *** Nginxハイパーバイザー ***
echo.
:MENU
set id=
echo.
echo. ***** nginx プロセスリスト ******
rem tasklist|findstr /i "nginx.exe"
tasklist | findstr nginx.exe
echo.
if ERRORLEVEL 1 (
echo nginx.exeは起動していません
goto reselect1
) else (
echo nginx.exeは起動中です
goto reselect2
)
echo.
rem *************************************************************************************************************
:reselect1
echo.
echo [1] Nginxの起動
echo [2]
echo [3]
echo [4] コンソール画面のリフレッシュ
echo [5]
echo [6] Nginx設定ファイルのチェック
echo [7] Nginxのバージョン確認
echo [8] エラーログを開く
echo [9] エラーログの削除
echo [0] 終了
echo.
set id=
set /P ID="操作する番号を入力してください: "
IF "%id%"=="1" GOTO start
rem IF "%id%"=="2" GOTO stop
rem IF "%id%"=="3" GOTO restart
IF "%id%"=="4" GOTO MENU
rem IF "%id%"=="5" GOTO reloadConf
IF "%id%"=="6" GOTO checkConf
IF "%id%"=="7" GOTO showVersion
IF "%id%"=="8" GOTO openErrorLog1
IF "%id%"=="9" GOTO delErrorLog1
IF "%id%"=="0" EXIT
echo 無効な入力です %id%
goto reselect1
:reselect2
echo.
echo [1]
echo [2] Nginxの停止
echo [3] Nginxの再起動
echo [4] コンソール画面のリフレッシュ
echo [5] Nginx設定ファイルの再読み込み
echo [6] Nginx設定ファイルのチェック
echo [7] Nginxのバージョン確認
echo [8] エラーログを開く(Nginxは終了します)
echo [9] エラーログの削除(Nginxは終了します)
echo [0] 終了
echo.
set id=
set /P ID="操作する番号を入力してください: "
rem IF "%id%"=="1" GOTO start
IF "%id%"=="2" GOTO stop
IF "%id%"=="3" GOTO restart
IF "%id%"=="4" GOTO MENU
IF "%id%"=="5" GOTO reloadConf
IF "%id%"=="6" GOTO checkConf
IF "%id%"=="7" GOTO showVersion
IF "%id%"=="8" GOTO openErrorLog
IF "%id%"=="9" GOTO delErrorLog
IF "%id%"=="0" EXIT
echo 無効な入力です %id%
goto reselect2
PAUSE
GOTO :eof
rem *************************************************************************************************************
rem スタート
:start
call :StartNginx
GOTO MENU
rem ストップ
:stop
call :ShutdownNginx
GOTO MENU
rem リスタート
:restart
call :ShutdownNginx
call :StartNginx
GOTO MENU
rem 設定ファイルのチェック
:checkConf
call :CheckConfNginx
GOTO MENU
rem Nginxの設定ファイルを再読み込み
:reloadConf
call :CheckConfNginx
call :reloadConfNginx
GOTO MENU
rem nginxのバージョンを表示
:showVersion
call :ShowVersionNginx
GOTO MENU
rem エラーログを開く
:openErrorLog
call :ShutdownNginx
:openErrorLog1
call :OpenErrorLogNginx
GOTO MENU
rem エラーログを削除
:delErrorLog
call :ShutdownNginx
:delErrorLog1
call :DelErrorLogNginx
GOTO MENU
rem *************************************************************************************
rem サブルーチン
rem *************************************************************************************
:ShutdownNginx
echo.
echo shutdown Nginx......
taskkill /F /IM nginx.exe > nul
echo 全てのNginxプロセスを停止しました
goto :eof
:StartNginx
echo.
echo start Nginx......
IF NOT EXIST "%NGINX_DIR%nginx.exe" (
echo "%NGINX_DIR%nginx.exe"が見つかりません
goto :eof
)
%NGINX_PATH%
cd "%NGINX_DIR%"
IF EXIST "%NGINX_DIR%nginx.exe" (
start nginx.exe
)
timeout /T 2 > nul
echo Nginxを起動しました
goto :eof
:CheckConfNginx
echo.
echo Nginx 設定ファイルのテスト......
IF NOT EXIST "%NGINX_DIR%nginx.exe" (
echo "%NGINX_DIR%nginx.exe"が見つかりません
goto :eof
)
%NGINX_PATH%
cd "%NGINX_DIR%"
nginx -t -c conf/nginx.conf
goto :eof
rem nginxの設定ファイルを再読み込みします
:ReloadConfNginx
echo.
echo nginxの設定ファイルを再読み込み......
IF NOT EXIST "%NGINX_DIR%nginx.exe" (
echo "%NGINX_DIR%nginx.exe"が見つかりません
goto :eof
)
%NGINX_PATH%
cd "%NGINX_DIR%"
nginx -s reload
goto :eof
rem nginxのバージョンを表示
:ShowVersionNginx
echo.
%NGINX_PATH%
cd "%NGINX_DIR%"
nginx -V
goto :eof
rem エラーログを開く
:OpenErrorLogNginx
echo.
echo エラーログを開く......
%NGINX_PATH%
cd "%NGINX_DIR%"
start logs/error.log
goto :eof
rem エラーログを削除
:DelErrorLogNginx
echo.
echo エラーログを削除......
%NGINX_PATH%
cd "%NGINX_DIR%"
del logs\error.log
goto :eof
| 固定リンク
« Chromeでパスワードの自動入力が出来なくなった件 | トップページ | Windowsでnginxとlegoを用いてLet's Encryptからhttp方式によるSSL証明書の発行を行う »
「パソコン・インターネット」カテゴリの記事
- Fujitsu LIFEBOOK U939/B 購入(2台目)(2024.11.01)
- Ryzen 7 5700U搭載のミニPC購入(2024.06.06)
- Android12搭載のスマートフォンから自宅ネットワークへVPN接続できる環境を作る その2(2023.10.10)
- 作業用ノートPC探しで秋葉散策(2023.09.20)
- Proxmoxの導入・仮想端末構築及びWindowsアプリケーションのLinuxへの移行作業(2023.08.27)
「自宅サーバ関連」カテゴリの記事
- Android12搭載のスマートフォンから自宅ネットワークへVPN接続できる環境を作る その2(2023.10.10)
- SynologyのNASでOpenVPNのサーバーを立てる(2023.08.16)
- Android12搭載のスマートフォンから自宅ネットワークへVPN接続できる環境を作る(2022.09.04)
- UQWiMAX WiMAX2+5Gでポート開放(2022.08.01)
- Celeron N5095搭載のミニPCを購入(2022.05.06)
「ソフトウェア」カテゴリの記事
- Android12搭載のスマートフォンから自宅ネットワークへVPN接続できる環境を作る その2(2023.10.10)
- Proxmoxの導入・仮想端末構築及びWindowsアプリケーションのLinuxへの移行作業(2023.08.27)
- SynologyのNASでOpenVPNのサーバーを立てる(2023.08.16)
- Stable Diffusion WebUIでハローアスカベンチマークのリベンジと実行結果考察(2023.03.28)
- Stable Diffusionを使ってみる(2023.03.12)
「nginx」カテゴリの記事
- Windowsでnginxとlegoを用いてLet's Encryptからhttp方式によるSSL証明書の発行を行う(2022.04.18)
- NginxをWindowsのコマンドラインから操作するバッチファイル(2022.03.31)
コメント