LinuxシステムにおけるNginxのインストールと使用方法

Nginxのコンパイルインストール

1. ファイアウォールの無効化と必要なソフトウェアパッケージの準備

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

# パッケージを/usr/local/srcディレクトリにダウンロード
cd /usr/local/src
wget http://nginx.org/download/nginx-1.20.1.tar.gz

2. 依存パッケージのインストール

yum -y install gcc pcre-devel openssl-devel zlib-devel
# Nginxの設定と実行にはpcre、zlibなどのソフトウェアパッケージのサポートが必要です
# これらの開発パッケージをインストールして、対応するライブラリとヘッダーファイルを提供します

3. 実行ユーザーとグループの作成

Nginxサービスプログラムはデフォルトでnobodyとして実行されますが、アクセス権限をより正確に制御するために、専用のユーザーアカウントを作成することをお勧めします。

useradd -r -s /sbin/nologin nginx

4. Nginxのコンパイルとインストール

tar xf nginx-1.20.1.tar.gz 
cd nginx-1.20.1/
# ソフトウェアパッケージを解凍
mkdir /usr/local/nginx -p

./configure --help   
# ヘルプモジュールを表示

./configure --prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module

make -j4 && make install

chown -R nginx:nginx /usr/local/nginx
# 権限を変更

インストールが完了すると、4つの主要ディレクトリが生成されます:

  • conf:Nginxのすべての設定ファイルを保存します。nginx.confはNginxサーバーの最も重要なコア設定ファイルです。他の.confファイルはNginxの関連機能を設定するために使用されます。
  • html:NginxサーバーのWebファイルを保存しますが、他のディレクトリに変更してWebファイルを保存することもできます。
  • logs:Nginxサーバーのアクセスログやエラーログなどを保存します。logsディレクトリは/var/log/nginxなど他のパスに配置できます。
  • sbin:Nginxのバイナリ起動スクリプトを保存し、異なるパラメータを受け入れてさまざまな機能を実現できます。

5. シンボリックリンクの作成とNginxの起動

########## 起動 ##########
/usr/local/nginx/sbin/nginx
# 絶対パスで起動

ln -s /usr/local/nginx/sbin/nginx /usr/bin/
# シンボリックリンクを作成後、直接nginxコマンドで起動

########## 停止 ###########
pkill -f nginx

6. Nginxの自動起動ファイルの作成

cat > /usr/lib/systemd/system/nginx.service << 'EOF'
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID

[Install]
WantedBy=multi-user.target
EOF

6.1 設定の再読み込み、自動起動の有効化、およびサービスの開始

systemctl daemon-reload          # 設定を再読み込み
systemctl enable --now nginx     # 自動起動を有効化して即時起動
systemctl status nginx           # サービス状態を確認(検証)

YUMを使用したインストール

# CentOS7の場合、EPELリポジトリのインストールが必要です

cd /etc/yum.repos.d
cat > epel.repo << 'EOF'
[epel]
name=Extra Packages for Enterprise Linux $releasever - $basearch
baseurl=https://mirrors.aliyun.com/epel/$releasever/$basearch
enabled=1
gpgcheck=0
EOF

yum install -y epel-release

yum install nginx -y

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

7月30日 04:34 投稿