このチュートリアルでは、Ubuntu16.04とCentOS7でnginxサーバーブロックを設定する方法を段階的に説明します。Nginxサーバーブロックは、多くの場合、単一のIPアドレスで複数のウェブサイトを実行するために使用されます。
このチュートリアルはNginxのみを対象としていることに注意してください。 Apacheを使用する場合は、次のことを行う必要があります 仮想ホストを設定する
1。 UbuntuにNginxをインストールする
サーバーのOSパッケージが完全に最新であることを確認してください:
apt-get update apt-get upgrade
Apacheを停止して削除し、次のコマンドを使用してnginxをインストールします。
service apache2 stop apt-get remove apache2 apt-get autoremove apt-get install nginx
デフォルトのnginx構成ファイルを削除します:
rm /etc/nginx/sites-enabled/default
nginxサービスを有効にして起動時に開始し、開始します:
systemctl enable nginx systemctl start nginx.service
2。 CentOSにNginxをインストールする
次のコマンドを実行して、すべてのOSパッケージが最新であることを確認します。
yum clean all yum update
Apacheが仮想サーバーにインストールされて実行されている場合は、Apacheを停止して削除します。
systemctl stop httpd systemctl disable httpd yum remove httpd
nginxをインストールします:
yum install nginx
また、PHPとMariaDBをインストールすることもできるので、次のコマンドを実行します。
yum install nginx mariadb mariadb-server php php-fpm php-cli php-curl php-gd php-mbstring php-mysql php-xml
/etc/php-fpm.d/www.conf構成ファイルを編集して変更します:
user = apache group = apache
宛先:
user = www-data group = www-data
次のコマンドを実行します:
chown www-data: -R /var/lib/php/session
PHP-FPM、Nginx、MariaDBサービスを開始し、起動時に開始できるようにします:
systemctl start php-fpm systemctl start nginx systemctl start mariadb
systemctl enable php-fpm systemctl enable nginx systemctl enable mariadb
3。 nginxを構成し、nginxサーバーブロックを設定します
「nginx.conf」という名前のメインのnginx構成ファイルでコアディレクティブを構成しましょう。サーバーの/etc/nginx/ディレクトリにあるはずです。
vi /etc/nginx/nginx.conf
user www-data; worker_processes 4; pid /var/run/nginx.pid;
ユーザー –nginxサーバーを所有して実行するユーザー。
worker_processes –一般に、nginxworker_processes構成をCPUの数に設定するのが最善です。たとえば、SSD 4 VPSプランを使用している場合は、worker_processesを4に設定します。
サーバー上のCPUの数を確認するには、次のコマンドを使用できます。
#cat /proc/cpuinfo | grep processor | wc -l 4
pid –nginxがマスタープロセスIDまたはPIDを書き込む場所。
CentOSを使用する場合は、Webサイト用の新しいNginx構成ファイルを作成します。
vi /etc/nginx/conf.d/domain1.com.conf
次のコンテンツを追加します:
server { server_name www.domain1.com domain1.com; listen 80; root /var/www/html/domain1.com; access_log /var/log/nginx/domain1.com-access.log; error_log /var/log/nginx/domain1.com-error.log; index index.php; location / { try_files $uri $uri/ /index.php?$args; } location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ { access_log off; expires max; } location ~ \.php$ { try_files $uri = 404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } location ~ /\.ht { deny all; } }
同じサーバー上で(同じIPアドレスを使用して)複数のWebサイトをホストする必要がある場合は、新しいサーバーブロックを作成できます。 Webサイトごとに新しい構成ファイルを作成することをお勧めします。
たとえば、/ etc / nginx / conf.d / domain2.com.confという名前の2番目のnginx構成ファイルを作成し、/ etc / nginx / conf.d / domain1.com.confと同じコンテンツを追加しますが、必ず置き換えてください。 domain1.comの2番目のドメイン名には、Webサイトのドキュメントルート、ログファイルの場所などが含まれます。
server { server_name www.domain2.com domain2.com; listen 80; root /var/www/html/domain2.com; access_log /var/log/nginx/domain2.com-access.log; error_log /var/log/nginx/domain2.com-error.log; index index.php; location / { try_files $uri $uri/ /index.php?$args; } location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ { access_log off; expires max; } location ~ \.php$ { try_files $uri = 404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } location ~ /\.ht { deny all; } }
Ubuntu OSを使用している場合は、「domain1.com.conf」nginx構成ファイルを/ etc / nginx/sites-availableディレクトリに作成します。
vi /etc/nginx/sites-enabled/domain1.com.conf
(上記のコンテンツと同じコンテンツ、つまりCentOSサーバー上の/etc/nginx/conf.d/domain1.com.confを追加します)。
次に、このファイルからサイト対応ディレクトリへのシンボリックリンクを作成します。
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
同じ手順を繰り返し、サーバーでホストされている他のすべてのWebサイトの新しい構成ファイルを作成します。
4。 Nginx構成をテストする
nginx -t
テストが成功したら、Nginxサービスを再起動します:
systemctl restart nginx
Webサイトファイルを/var/www/html/domain1.com、/var/www/html/domain2.com/var/www/html/domainN.comディレクトリにアップロードします。
Webサーバーユーザー(www-data)は、/ var / www / html / domain1.com、/var/www/html/domain2.com、/var/www/html/domainN.comディレクトリにアクセスできる必要があります。次のコマンドを実行することで簡単に実行できます。
chown -R www-data:www-data /var/www/html/
もちろん、UbuntuとCentOSでNginxサーバーブロックを設定する方法は必要ありません。NginxVPSホスティングサービスのいずれかを使用している場合は、専門のLinux管理者にnginxサーバーの設定を依頼するだけです。ブロック あなたのために。 24時間年中無休でご利用いただけます。リクエストはすぐに処理されます。
PS。 この投稿が気に入った場合は、UbuntuとCentOSでNginxサーバーブロックを設定する方法について、左側のボタンを使用してソーシャルネットワーク上の友達と共有するか、下に返信してください。ありがとう。