doudonn WEB制作やサーバーの話とかいろいろ

【Ubuntu】Nginxの「nginx -s reload」をVISUDOでパスワード無しにする方法&一括変更Tera Termのマクロの紹介

doudonn 更新日:
【Ubuntu】Nginxの「nginx -s reload」をVISUDOでパスワード無しにする方法&一括変更Tera Termのマクロの紹介

nginxのreloadが面倒くさい!

多数のサーバーで負荷分散していたら思うことだろう。
いろいろやり方はありますが、とりあえずパスワード無しから始めたい。

1、VISUDOへの記載

doudonn ALL=NOPASSWD: /usr/sbin/nginx -s reload

「/usr/sbin/nginx」がNginxの場所なので、まずはそこを指定。
その次にコマンドを指定します。
そのコマンドを指定しなかった場合はNginx関係は全部パスワード無しになります。

一応はリロードのみにしておこう。

2、一括で変更(リロード)するには

自分はTera Termのマクロが楽。

SSHでログインするマクロはあるので、
それを全部合体して、それぞれ自動でコマンドを入力・実行を追加するだけ。
踏み台サーバーへログインしたら全部のサーバーにログインして実行、と。

<こんな感じのマクロになる>

HOSTADDR = 'xxx.xxx.xxx.xxx'

USERNAME = 'doudonn'

PORTNO = '10022'

KEY_FILE = 'E:\ssh接続\id_rsa'

INI_FILE = 'E:\ssh接続\TERATERM.INI'

COMMAND = HOSTADDR 
strconcat COMMAND ':'
strconcat COMMAND PORTNO
strconcat COMMAND ' /ssh /2 /auth=publickey /user='
strconcat COMMAND USERNAME 
strconcat COMMAND ' /keyfile=' 
strconcat COMMAND KEY_FILE
strconcat COMMAND ' /F='
strconcat COMMAND INI_FILE
connect COMMAND

unlink

HOSTADDR = 'xxx.xxx.xxx.xxx'

USERNAME = 'doudonn'

PORTNO = '10022'

KEY_FILE = 'E:\ssh接続\id_rsa'

INI_FILE = 'E:\ssh接続\TERATERM.INI'

COMMAND = HOSTADDR 
strconcat COMMAND ':'
strconcat COMMAND PORTNO
strconcat COMMAND ' /ssh /2 /auth=publickey /user='
strconcat COMMAND USERNAME 
strconcat COMMAND ' /keyfile=' 
strconcat COMMAND KEY_FILE
connect COMMAND

wait USERNAME
varCmd = 'sudo nginx -s reload'
sendln varCmd

~
これをサーバー分繰り返す
~

end

「unlink」でウインドウを区切って、次々とサーバーへログインしていきます。
ログイン後はコマンドの自動入力。
パスワードの自動入力もできるので、このやり方ならVISUDOのやつは不要ではある。

シェルを作るより、この方がサーバーがごちゃごちゃせず良いと思う。
Tera Termのマクロは何でもできて便利なので是非作ってみてください。

--

Nginxの関連記事
サーバーの関連記事

記事一覧はこちら:サーバー

管理人について
doudonn
名前:doudonn(どうどん)
ひたすらWEB制作な人。
一応社長です。音ゲー好き

<Twitterはこちら>
ゲーム垢
WEB制作垢
お知らせ

2022年11月30日に全記事削除しました。
まだ再開に向け作りかけ。


無駄にページ表示速度にこだわってます。

役立ちサイト
wiki
© 2022-2023 doudonn All Rights Reserved.