Nginxのインストール、操作、およびアンインストール手順

CentOS環境におけるNginxのインストール、基本的な操作コマンド、およびsystemctlを用いたサービス管理、さらにはアンインストール方法について解説します。

1. Nginxのインストール

NginxはC言語で記述されているため、コンパイルに必要な開発ツールをまずインストールします。

yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

次に、Nginxのソースコードをダウンロードします。

yum install wget -y
wget https://nginx.org/download/nginx-1.16.1.tar.gz

ダウンロードしたアーカイブファイルを展開します。

tar -zxvf nginx-1.16.1.tar.gz

展開されたnginxディレクトリを/usr/local/に移動させます。

mv nginx /usr/local/

/usr/local/nginx/ディレクトリに移動し、コンパイル設定を行います。

cd /usr/local/nginx/
./configure

コンパイルとインストールを実行します。

make && make install

インストールされたディレクトリ構造を確認するにはtreeコマンドが便利です。もしtreeコマンドがインストールされていない場合は、以下でインストールできます。

yum install tree -y
tree /usr/local/nginx/

主要なディレクトリとファイルは以下の通りです。

  • conf/: 設定ファイル格納ディレクトリ。
  • conf/nginx.conf: Nginxのコア設定ファイル。
  • html/: 静的コンテンツ(HTML, CSSなど)を配置するディレクトリ。
  • logs/: Nginxのアクセスログやエラーログが格納されるディレクトリ。
  • sbin/nginx: Nginxサービスを起動・停止するための実行ファイル。

2. Nginxの基本操作コマンド

/usr/local/nginx/sbin/ディレクトリにあるnginx実行ファイルとオプションを組み合わせて、Nginxの操作を行います。

2.1. バージョンの確認

/usr/local/nginx/sbin/nginx -v

2.2. 設定ファイルの構文チェック

nginx.confファイルを変更した後に、構文エラーがないか確認します。

/usr/local/nginx/sbin/nginx -t

2.3. Nginxの起動

/usr/local/nginx/sbin/nginx

起動後、ps aux | grep nginxコマンドでプロセスが実行されていることを確認できます。通常、Nginxはマスタープロセスとワーカープロセスの2つで動作します。

Nginxへのアクセスを可能にするためには、ファイアウォール設定が必要です。

  • ファイアウォールを停止する場合: systemctl stop firewalld
  • ポート80を開放する場合:
    firewall-cmd --zone=public --add-port=80/tcp --permanent
        firewall-cmd --reload
        

2.4. Nginxの停止

/usr/local/nginx/sbin/nginx -s stop

停止後、ps aux | grep nginxコマンドでプロセスが終了していることを確認します。

2.5. 設定ファイルの再読み込み

設定ファイルを変更した場合、サービスを停止せずに設定を反映させるためにリロードします。

/usr/local/nginx/sbin/nginx -s reload

2.6. 環境変数の設定

毎回sbinディレクトリに移動せずにNginxコマンドを実行できるように、環境変数を設定します。

/etc/profileファイルを編集し、以下の行を追加します。

export PATH=$PATH:/usr/local/nginx/sbin

変更を反映させるために、以下のコマンドを実行します。

source /etc/profile

これにより、どのディレクトリからでもnginxコマンドを実行できるようになります。

3. systemctl を使用したNginxサービスの管理

systemctlコマンドを利用することで、Nginxサービスをより系統的に管理し、システムの起動時に自動起動させる設定も可能です。

3.1. Nginxサービスユニットファイルの作成

systemd用のサービスユニットファイルを作成します。

cd /lib/systemd/system/
touch nginx.service
vim nginx.service

3.2. ユニットファイルの設定

nginx.serviceファイルに以下の内容を記述します。

[Unit]
Description=nginx Web Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target
  • [Unit]セクション: サービスの説明と起動順序を指定します。
  • [Service]セクション: サービスの実行コマンド、リロードコマンド、停止コマンドなどを定義します。Type=forkingはバックグラウンドで実行されるサービスを示します。
  • [Install]セクション: システム起動時のターゲットを指定します。multi-user.targetは通常のマルチユーザーモード(ランレベル3)を意味します。

3.3. systemd 設定の再読み込み

新しいサービスユニットファイルをsystemdに認識させるために、設定を再読み込みします。

systemctl daemon-reload

3.4. Nginxサービス管理コマンド

  • Nginxサービスのステータス確認:
    systemctl status nginx.service
        
  • Nginxサービスの起動:
    systemctl start nginx.service
        
  • Nginxサービスの停止:
    systemctl stop nginx.service
        
  • Nginxサービスの再起動:
    systemctl restart nginx.service
        
  • Nginx設定の再読み込み(設定変更を即時反映):
    systemctl reload nginx.service
        

3.5. システム起動時の自動起動設定

  • Nginxをシステム起動時に自動起動させる場合:
    systemctl enable nginx.service
        
  • 自動起動を無効にする場合:
    systemctl disable nginx.service
        

4. Nginxのアンインストール

Nginxをアンインストールする手順は以下の通りです。

まず、Nginxが実行中か確認します。

ps aux | grep nginx

実行中の場合は、停止します。

nginx -s stop
# またはプロセスを直接kill
pkill nginx
# またはプロセスIDを指定してkill
# kill -9 <PID>

Nginxに関連するファイルを検索します。

find / -name nginx

検索結果に基づき、Nginx関連のファイルを削除します。注意して実行してください。

rm -rf /usr/local/nginx*
# 必要に応じて、findコマンドで再度検索し、関連ファイルを削除
find / -name nginx* | xargs rm -rf

依存関係としてインストールされたパッケージがあれば、それらを削除します。

yum remove nginx

タグ: nginx CentOS Webサーバー インストール アンインストール

7月21日 01:55 投稿