Nginx インストール(CentOS編)
ローカル開発環境に準備したLinux(CentOs)のウェブサーバーとしてNginxを設定する方法
ローカル開発の設定はこちら
ローカル開発環境構築(Windows)
■公式サイト:http://nginx.org/
①前提条件のインストール
Linuxのパケージページより下記コマンドにてCentOS用の前提条件をインストール
sudo yum install yum-utils
②リポジトリの設定
管理者権限(sudoコマンド等)で「/etc/yum.repos.d/nginx.repo」ファイルを作成し、下記を記述
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
③mainlineパケージをデフォルトに設定
Nginxには下記2つのパケージが存在するので開発環境ならmainlineパケージをデフォルトに設定しておく
sudo yum-config-manager --enable nginx-mainline
【参考】
・Mainline:最新版(開発環境で利用)
・Stable:安定版(商用環境で利用)
※引用
https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/
・ Mainline – Includes the latest features and bug fixes and is always up to date. It is reliable, but it may include some experimental modules, and it may also have some number of new bugs.
・ Stable – Doesn’t include all of the latest features, but has critical bug fixes that are always backported to the mainline version. We recommend the stable version for production servers.
④Nginxインストール
sudo yum install nginx
※バージョン確認
nginx -v
⑤Nginx起動
sudo nginx
下記エラーが出る場合はlsofコマンドでポートが何に使用されているかを確認する
[vagrant@localhost yum.repos.d]$ sudo nginx
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
※↑ポート80が使用されている
※lsofコマンドをインストールしていない場合は
こちらを参考にインストールしておく
Linux lsofのインストールとコマンド
lsofコマンドでポート80の使用状況を確認
[vagrant@localhost yum.repos.d]$ sudo lsof -i:80
↓「Apache」が使用していることがわかる
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 17011 root 6u IPv6 191301 0t0 TCP *:http (LISTEN)
httpd 17019 apache 6u IPv6 191301 0t0 TCP *:http (LISTEN)
httpd 17020 apache 6u IPv6 191301 0t0 TCP *:http (LISTEN)
httpd 17021 apache 6u IPv6 191301 0t0 TCP *:http (LISTEN)
httpd 17022 apache 6u IPv6 191301 0t0 TCP *:http (LISTEN)
httpd 17023 apache 6u IPv6 191301 0t0 TCP *:http (LISTEN)
httpd 17024 apache 6u IPv6 191301 0t0 TCP *:http (LISTEN)
httpd 17025 apache 6u IPv6 191301 0t0 TCP *:http (LISTEN)
httpd 17026 apache 6u IPv6 191301 0t0 TCP *:http (LISTEN)
[vagrant@localhost yum.repos.d]$
「Apache」を停止
sudo /etc/init.d/httpd stop
ポート80が使用されていないことを確認
sudo lsof -i:80
再度「Nginx」を起動
sudo nginx
Nginxがポート80を使用していることを確認
sudo lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 29091 root 6u IPv4 219443 0t0 TCP *:http (LISTEN)
nginx 29094 nginx 6u IPv4 219443 0t0 TCP *:http (LISTEN)
「http://192.168.33.10/」にアクセスして下記が表示されていればOK
※設定ファイル
設定ファイルを変更した場合は「nginx -s reload」を実行する必要がる
・メインの設定ファイル
/etc/nginx/nginx.conf
・各サーバー用設定ファイル
/etc/nginx/conf.d/