Nginxを使って、1つのサーバーで複数サイトを運用
やりたいこと
1つのサーバーで複数のサイトを構築したい!
nginxをインストール
さくらVPSで、SSL+CentOS7+Nginx+PHP7+MySQLを構築する方法 を参考にnginxをインストールします。
複数サイト用に設定ファイルのディレクトリ作成
各サイトの設定ファイルを置くディレクトリ(環境に合わせて好きな場所に)
$ mkdir /etc/nginx/conf.d/sites-available
メンテナンス性を高めるために、設定ファイルのシンボリックリンクを張るディレクトリ
$ mkdir /etc/nginx/conf.d/sites-enable
nginxに権限付与
$ sudo chown -R nginx.nginx /etc/nginx/conf.d/sites-*
運用したい各サイトのソースを置くディレクトリを作成
$ mkdir /var/www/html/{service_name}
$ chown -R nginx.nginx /var/www/
各サイトの設定ファイルを作成
vim /etc/nginx/conf.d/sites-available/{service_name}.conf
$ mkdir /var/www/html/{service_name}
$ chown -R nginx.nginx /var/www/
vim /etc/nginx/conf.d/sites-available/{service_name}.conf
内容は、
server {
listen 80;
server_name {ドメイン};
index index.php;
access_log /var/log/nginx/{service_name}.access.log; // 環境に合わせて指定
}
各サイトの設定ファイルのシンボリックリンクを張る
$ ln -s /etc/nginx/conf.d/sites-available/{service_name}.conf /etc/nginx/conf.d/sites-enable/
各サイトの設定ファイルを読み込むようにする
$ vim /etc/nginx/nginx.conf
$ ln -s /etc/nginx/conf.d/sites-available/{service_name}.conf /etc/nginx/conf.d/sites-enable/
$ vim /etc/nginx/nginx.conf
以下をhttp { ... }
の中に追記し、各サイトの設定ファイルをシンボリックリンクで読み込めるようにする。
include /etc/nginx/conf.d/sites-enable/*.conf;
/etc/nginx/nginx.conf
と各サイトの設定ファイルの全体像はこのようになります。
/etc/nginx/nginx.conf
の内容
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
server_tokens off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
index index.php index.html index.htm;
include /etc/nginx/conf.d/sites-enable/*.conf;
}
各サイトの設定ファイルの内容
server {
listen 80;
server_name {ドメイン};
index index.php;
access_log /var/log/nginx/{service_name}.access.log;
}
nginx再起動
$ systemctl restart nginx.service
$ systemctl restart nginx.service
Author And Source
この問題について(Nginxを使って、1つのサーバーで複数サイトを運用), 我々は、より多くの情報をここで見つけました https://qiita.com/2ko2ko/items/82fb3ba019a216564d22著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .