タグ: Ubuntu

検索結果: 5件

article-thumbnail

NGINXのtoo many open filesの対応方法

【概要】NginxやApache等のプロセスはファイルとして扱われます。よって、アクセス数が増える事でデフォルトのファイル操作上限(1024)に達した場合、「Too many open files」のエラーが出力されます。ファイルの操作上限をデフォルトから増やす方法についてまとめます。【詳細】1. 現状のファイル上限数を確認するファイルの上限数確認コマンド。ulimit -n出力結果1024上記はファイル上限数を変更していない場合のデフォルト値です。2. ulimit設定変更vi /etc/security/limits.conf下記を追記します。* soft nofile 65536* hard nofile 655363. nginxの設定変更mkdir /etc/systemd/system/nginx.service.dvi /etc/systemd/system/nginx.service.d/limit.conf/etc/systemd/system/nginx.service.d/limit.confに以下を記述します。[Service]LimitNOFILE655364. サーバーを再起動してファイル上限数を確認・Linuxサーバーのファイル上限数確認ulimit -n出力結果65536・Nginxのファイル操作上限を確認cat /proc/`pgrep nginx | head -1 `/limits | grep 'open files'出力結果Max open files6553665536files

カテゴリ: NGINX 2020-08-17 01:45:26
article-thumbnail

コマンドを繋げて実行する方法まとめ

【概要】コマンドを繋げて実行する方法についてまとめます。1. 最初のコマンドが終了してから次のコマンドを実行する2. コマンドを並列処理する3. 最初のコマンドが正常終了したら次のコマンドを実行する4. 最初のコマンド結果を次のコマンドに渡して実行する5. 最初のコマンドでエラーが起きた際に次のコマンドを実行する【詳細】1. 最初のコマンドが終了してから次のコマンドを実行する正常終了、異常終了に関わらず次のコマンドを実行します。・構文最初のコマンド ; 次のコマンド・使用例./bin/cake hoge1 ; ./bin/cake hoge22. コマンドを並列処理する最初のコマンドと次のコマンドを同時に実行します。・構文最初のコマンド 次のコマンド・使用例touch aaa/abc.txt touch aaa/def.txt3. 最初のコマンドが正常終了したら次のコマンドを実行する最初のコマンドが異常終了した場合は次のコマンドは実行されません。・構文最初のコマンド amp;amp; 次のコマンド・使用例make amp;amp; make install4. 最初のコマンド結果を次のコマンドに渡して実行する最初のコマンドで返された値を次のコマンドに渡します。使用例ではphp -iで出力された情報の中から「php.ini」の文言が入っている行のみ出力されます。・構文最初のコマンド | 次のコマンド・使用例php -i | grep php.ini5. 最初のコマンドでエラーが起きた際に次のコマンドを実行する最初のコマンドが実行できなかった際に次のコマンドが実行されます。・構文最初のコマンド || 次のコマンド・使用例cd /var/www/html || pwd

カテゴリ: Linux 2020-08-09 19:32:11
article-thumbnail

Linuxサーバーのユーザーとグループ作成と設定方法

【概要】Linuxサーバーのユーザーとグループ作成、設定方法をまとめたドキュメントです。【ユーザーとグループ一覧表示】・ユーザー一覧表示cat /etc/passwd出力結果例root:x:0:0:root:/root:/usr/bin/zshbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologin......・グループ一覧cat /etc/group出力結果例root:x:0:bin:x:1:daemon:x:2:......【ユーザーとグループ作成】・ユーザー作成構文useradd ユーザー名例文useradd ec2-user・グループ作成構文groupadd グループ名例文groupadd ec2-user・IDを指定する場合のコマンドユーザー・グループ共にIDを指定しなかった場合、他の重複しない値を自動で設定されます。特定のIDを指定したい場合に使用します。ユーザー作成の構文useradd -u 501 ユーザー名グループ作成の構文groupadd -g 501 グループ名【ユーザーのパスワード設定】[概要]ユーザーにパスワードを設定します。作成したユーザーでSSH接続や、rootユーザーになる時などに使用します。[詳細]・構文passwd ユーザー名【グループを設定し、ユーザーを作成する】[概要]ユーザーにグループを設定する事で権限を持たせる事ができます。例えば、ec2-userを作成し、セカンダリグループにwheelグループを設定します。「/etc/sudoers」を編集し、wheelグループはパスワードなしでrootユーザーを使用する設定があります。このように、ユーザーに特定の権限を持たせたい時に使用します。[詳細]・構文 - プライマリグループとセカンダリグループを設定しユーザーを作成するuseradd -G グループ名 -g グループ名 ユーザー名「-Gオプション」はセカンダリグループを指定します。「-gオプション」はプライマリグループを指定します。・ec2-userのプライマリグループに「ec2-user」グループを設定し、セカンダリグループに「wheel」グループを設定するuseradd -G wheel -g ec2-user ec2-user【作成したユーザーの所属グループとidを調べる】[概要]作成したユーザーと設定したグループが反映されたかを確認します。[詳細]・構文id ユーザー名・例文id ec2-user出力結果例uid1000(ec2-user) gid1000(ec2-user) groups1000(ec2-user),4(adm),10(wheel),190(systemd-journal)上記の例では「ec2-user」ユーザーの情報は下記になります。ユーザーID:1000プライマリグループID:1000プライマリグループ:ec2-userセカンダリグループ:ec2-user・adm・wheel・systemd-journal【作成したユーザーにセカンダリグループを追加する】[概要]作成したユーザーが既にセカンダリグループを設定されている場合、-aオプションを付けないと上書きされてしまいます。その手順をまとめます。[前提]下記の設定がされているec2-userを想定します。uid1000(ec2-user) gid1000(ec2-user) groups1000(ec2-user),4(adm),190(systemd-journal)ここにwheelグループを追加します。[詳細]・セカンダリグループ追加usermod -aG nginx ec2-userこれでnginxグループがec2-userのセカンダリグループに追加されました。・追加確認id ec2-user出力結果uid1000(ec2-user) gid1000(ec2-user) groups1000(ec2-user),4(adm),190(systemd-journal),10(wheel)【ユーザーに設定されているセカンダリグループを削除する】[前提]ec2-userに下記の設定がされているとします。uid1000(ec2-user) gid1000(ec2-user) groups1000(ec2-user),4(adm),190(systemd-journal),10(wheel)このwheelグループを削除します。[例文]・ec2-userユーザーをwheelグループのメンバーから外すgpasswd -d ec2-user wheel・確認id ec2-user出力結果uid1000(ec2-user) gid1000(ec2-user) groups1000(ec2-user),4(adm),190(systemd-journal)文末にあった「wheel」グループは削除されました。【ユーザーを削除する】[概要]指定したユーザーの削除を行います。[詳細]・構文userdel -r ユーザー名・例文ここでは「ec2-user」を削除します。userdel -r ec2-user確認id ec2-user出力結果id: ec2-user: no such user上記のように出力されれば削除成功です。【参考: wheelグループに所属するユーザーをパスワードなしでrootユーザーにする設定】[概要]上記にも例を出しましたが、ユーザーのセカンダリグループにwheelグループを追加し、「/etc/sudoers」の設定を変更する事でパスワードなしでrootユーザーになる事ができます。その設定方法についてまとめています。[手順]vi /etc/sudoers変更内容# Same thing without a password#%wheelALL(ALL)NOPASSWD: ALL上記の「#%wheel」部分で「#」がコメントアウトを意味します。よって、「#」を削除し「:wq」で保存して下さい。これでwheelグループを設定したユーザーは下記のコマンドでrootユーザーになれます。sudo su -

カテゴリ: Linux 2020-05-23 03:22:38
article-thumbnail

macにSSH鍵作成、設定とSSH接続方法

【概要】macにSSH鍵を作成し、設定と接続する為のドキュメントです。【SSH鍵作成】1. SSH鍵作成macのTerminalで下記のコマンドを実行します。mkdir ~/.sshchmod 700 ~/.sshcd ~/.sshssh-keygen -t rsa「ssh-keygen -t rsa」コマンド実行後に聞かれる質問は全てenterで進めます。Cf1. SSHのconfigを設定する場合touch ~/.ssh/configvi config設定内容例Host hoge_serverHostName 172.16.0.10User rootCf2. 秘密鍵と公開鍵を作成するコマンドのオプションについて下記の2つのコマンドはどちらも同じ内容を実行しています。ssh-keygen -t rsassh-keygen「ssh-keygen」コマンドで選択できる鍵の種類は次の3種類です。また、「-t rsa」オプションがデフォルトになっている為、実行内容は同じです。ちなみにMacのデフォルトOpenSSHではECDSAやED25519鍵は作成できません。Cf3.鍵の種類について「-t」オプションについて・SSHプロトコルバージョン1-RSA-t rsa1・SSHプロトコルバージョン2-RSA(デフォルト)-t rsa・SSHプロトコルバージョン2-DSA-t dsaSSHプロトコルバージョン1を使う人はあまりいないと想定されます。また、デフォルトの状態を多くの方は使用されると思います。よって、特に指定がない場合はオプションは省略しても良いです。【サーバーに公開鍵登録と鍵を使用したSSH接続】1. サーバーにSSH鍵を登録するSSH鍵を登録する為のディレクトリとファイルを作成します。先ず、サーバーにパスワード認証のSSH接続もしくはクラウドの場合、コンソール画面からSSH接続をします。cd ~/mkdir .sshchmod 700 .sshcd .sshtouch .ssh/authorized_keyschmod 600.ssh/authorized_keys2. macに作成した鍵をサーバーに登録するi. macに作成した鍵の内容を取得するcat ~/.ssh/id_rsa_pubmacのTerminalで上記のコマンドを実行後、出力された内容をコピーします。ii. サーバーにmacの公開鍵を登録しますvi.ssh/authorized_keysサーバー内で上記コマンドを実行後、コピーしたmacの公開鍵を入力します。3. サーバーにSSH接続する・SSH Configを使用してSSH接続するmacにSSHのconfig設定をしている場合、下記のコマンドで接続できます。ssh hoge_server「hoge_server」はSSH confingの「Host」部分です。・ユーザー名とIPアドレスでSSH接続する構文ssh ユーザー名@IPアドレス例文ssh [email protected]

カテゴリ: mac 2020-05-21 02:16:55
article-thumbnail

サーバー内にあるファイル名とファイル内容を検索する方法

【概要】このドキュメントでは下記のパターンを検索する方法についてまとめています。1. ファイル名2. ディレクトリ名3. 特定の所有ユーザー4. 特定の所属グループ5. ファイル内に存在する特定の文字列【ファイルに存在する特定ワードの検索】・概要ファイル内に存在する特定のワードを検索する方法です。・構文grep -rni "検索したいワード" 場所下記のコマンド例は「.」なので、コマンド実行時のディレクトリ配下を意味する。・grepコマンドのオプション内容1. -rオプションディレクトリを再帰的にたどって検索します。2. -nオプション検索結果の出力に行番号を付けます。3. -iオプション大文字小文字を区別せずにマッチングをさせます。・コマンド使用例1. 現在いるパスから下の階層全てに「ZSH_THEME」の文字列を含むファイルの行検索grep -rni "ZSH_THEME" .出力結果例./.zshrc:11:ZSH_THEME"fishy"./.zshrc:14:# Setting this variable when ZSH_THEMErandom will cause zsh to load./.zshrc:17:# ZSH_THEME_RANDOM_CANDIDATES( "robbyrussell" "agnoster" )2. /etc/nginxの階層以下の全てに「server_name」を含むファイルの行検索grep -rni "server_name" /etc/nginx3. 所有ユーザーと所属グループとファイル名検索ls -la | grep ec2 上記のコマンドは現在居るディレクトリ内に存在するec2を含むディレクトリ名・ファイル名・所有ユーザー・所属グループを表示します。【ファイル名検索】・概要検索ワードにマッチするファイル名を検索します。・構文find 検索したい場所 -name ファイル名・コマンド使用例ここで紹介している使用例は検索したい場所からその配下に存在するディレクトリ内部まで検索します。1. 特定のファイルを検索する現在のディレクトリ配下にある.DS_Storeファイルを探すfind . -name .DS_Store出力結果例./.DS_Store./hogeDir/.DS_Store 2. 特定の文字列を含むファイル名を検索するfind / -name *.params上記は「/」以下で拡張子が「.params」であるファイルを検索します。「*」とはワイルドカードに当たります。 3. 現在のディレクトリ配下にある.DS_Storeファイルを探すfind . -name .DS_Store 出力結果例./.DS_Store./hogeDir/.DS_Store

カテゴリ: Linux 2020-05-16 04:05:48