5回目-9.Nginxでバーチャルホスト設定

さくらVPSCentOS 7 2週間無料のお試し期間 5回目

一覧

 状態:調査中  閲覧数:542  投稿日:2018-02-07  更新日:2018-02-13
仕組み
「バーチャルホスト」設定の具体例Link / PHP含む

仕組み

 閲覧数:123 投稿日:2018-02-07 更新日:2018-02-07 

Nginxにおけるドメイン定義ファイル


▼/etc/nginx/conf.d/virtual.conf

1サーバで複数ドメインを運用する場合


ドメイン毎に設定ファイルを作成していく
・ディレクトリ「/etc/nginx/conf.d/」に「*.conf」という拡張子でファイルを作成しておくとnginx再起動時に認識される

「デフォルトのバーチャルホスト」設定


nginxの設定ファイル(/etc/nginx/nginx.conf or /etc/nginx/conf.d/*.conf)のlistenディレクティブにdefault_serverパラメーターを設定すれば、デフォルトのバーチャルホストを設定できる
nginxでデフォルトのバーチャルホストを設定する方法

「バーチャルホスト」設定の具体例Link / PHP含む

 閲覧数:137 投稿日:2018-02-07 更新日:2018-02-13 

一覧


「/usr/local/etc/nginx/nginx.conf」
MacでNingx、PHP7.1、php-fpmで環境構築(メモ)
⇒ 「▼/usr/local/etc/nginx/nginx.conf」ファイルは存在していなかった。多分、インストール方法が異なるため

「nginx.conf」「/etc/nginx/conf.d/★★.conf」
WordPressで複数ドメインを管理する方法【Nginxでバーチャルホスト編】
⇒ 失敗。理由不明
NginxでWordPressを使う時の設定をまとめてみた

「/etc/nginx/conf.d/default.conf」「/etc/nginx/conf.d/★★.conf」
Nginxとphp-fomを使ってバーチャルホストを立ててみた
CentOS + nginx + PHP環境でのnginxの設定めも

「/etc/nginx/conf.d/★★.conf」
nginxでバーチャルホストを追加する

「/etc/nginx/nginx.conf」「/etc/nginx/conf.d/virtual.conf」
apache+mod_php を nginx+php-fpmに移行 (+ TCP Connection & File Descriptor)

「/etc/nginx/sites-available/★★.conf」
[PHP+NGINX+PHP-FPM] centos 7.2にPHP7.1開発環境を構築する方法
Nginxのバーチャルホスト設定
Nginx の sites-enabled と site-available の違い
Nginx の site-available は必要?

phpMyAdmin
nginx + MySQL + phpMyAdmin の環境を構築する方法

「バーチャルホスト」設定の具体例Link

 閲覧数:112 投稿日:2018-02-07 更新日:2018-02-07 

一覧


「/etc/nginx/conf.d/default.conf」OR「/etc/nginx/conf.d/★★.conf」
.log : nginxのserver_nameで複数ドメイン運用

「/etc/nginx/conf.d/default.conf」
Nginx応用編①バーチャルホストを設定する。Linuxサーバ構築手順まとめ
nginxでvirtualhostを設定する
NGINXでバーチャルホストを作成する:CentOS6

「/etc/nginx/conf.d/★★.conf」
バーチャルホストの設定
【nginx】バーチャルホストの設定

「etc/nginx/sites-available」「/etc/nginx/sites-enable」
秩序と情報とブロッコリー: nginxのインストールからマルチドメインの設定まで(@CentOS)
【Nginx】バーチャルホストを設定する

仮想ホストとして登録されていないホスト名でアクセスされた場合、あるページを常に表示する方法
Nginxで仮想ホスト(Virtual Host)のデフォルトサーバーを設定してみる

サブドメインなしのURLでアクセスしたときのみ、wwwのサブドメインを付与してリダイレクトさせる
nginx - サブドメインなしのURLでアクセスしたときのみ、wwwのサブドメインを付与してリダイレクトさせる設定をnginx.confに記述したいです。

SSL設定
nginxでSSL設定をするときに気を付けたいこと

エラー
Nginxのバーチャルドメインでエラー
Redhat7にnginxのインストールとバーチャルホストの設定

IPベース
【Nginx】バーチャルホストの設定を行う~IPベース・名前ベース~

Nginxは通常,起動時に行った名前解決の結果を保持し続ける
Nginxの名前解決についてまとめ


Nginxでバーチャルホストを動的設定したい

現状確認 / ▼/etc/nginx/nginx.conf / ▼/etc/nginx/conf.d/ / ▼/etc/nginx/conf.d/default.conf

 閲覧数:143 投稿日:2018-02-07 更新日:2018-02-08 

▼/etc/nginx/nginx.conf


$ cat /etc/nginx/nginx.conf

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
   worker_connections  1024;
}


http {
   include       /etc/nginx/mime.types;
   default_type  application/octet-stream;

   log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                     '$status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent" "$http_x_forwarded_for"';

   access_log  /var/log/nginx/access.log  main;

   sendfile        on;
   #tcp_nopush     on;

   keepalive_timeout  65;

   #gzip  on;

   include /etc/nginx/conf.d/*.conf;
}


▼/etc/nginx/conf.d/


$ cd /etc/nginx/conf.d/
$ ls -la
total 12
drwxr-xr-x 2 root root   48 Feb  5 13:46 .
drwxr-xr-x 3 root root 4096 Jan 27 11:39 ..
-rw-r--r-- 1 root root 1093 Oct 17 22:21 default.20180205
-rw-r--r-- 1 root root 1539 Feb  5 13:46 default.conf


▼/etc/nginx/conf.d/default.conf


$ cat /etc/nginx/conf.d/default.conf
server {
   listen       80;
   server_name  localhost;

   #charset koi8-r;
   #access_log  /var/log/nginx/host.access.log  main;

  # location / {
  #     root   /usr/share/nginx/html;
  #     index  index.html index.htm;
  # }

   #error_page  404              /404.html;

   # redirect server error pages to the static page /50x.html
   #
   error_page   500 502 503 504  /50x.html;
   #location = /50x.html {
   #    root   /usr/share/nginx/html;
   #}

   # proxy the PHP scripts to Apache listening on 127.0.0.1:80
   #
   #location ~ \.php$ {
   #    proxy_pass   http://127.0.0.1;
   #}

   # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
   #
   #location ~ \.php$ {
   #    root           html;
   #    fastcgi_pass   127.0.0.1:9000;
   #    fastcgi_index  index.php;
   #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
   #    include        fastcgi_params;
   #}

   # deny access to .htaccess files, if Apache's document root
   # concurs with nginx's one
   #
   #location ~ /\.ht {
   #    deny  all;
   #}

 root /usr/share/nginx/html/;
 index index.php index.html index.htm;

 location / {
   try_files $uri $uri/ /index.php?$query_string;
 }

 location ~ \.php$ {
   fastcgi_split_path_info ^(.+\.php)(/.+)$;
   fastcgi_pass unix:/var/run/php-fpm.sock;
   fastcgi_index index.php;
   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   fastcgi_param PATH_INFO $fastcgi_path_info;
   include fastcgi_params;
 }



}


失敗

 閲覧数:143 投稿日:2018-02-08 更新日:2018-02-09 
$ sudo vi w4c.work.conf
5回目-10.locale
server {
# サーバーのデフォルトTCPポートです。
listen 80;

client_max_body_size 20m;

# サーバー名を設定します。
server_name a.w4c.work;

# ログファイル名を設定します。
access_log /var/log/nginx/w4c.work/a.w4c.work/access.log;
error_log /var/log/nginx/w4c.work/a.w4c.work/error.log;

# ドキュメントルートディレクトリを設定します。
root /var/www/w4c.work/a.w4c.work;
# index file タイプの優先順を設定します。
index index.php index.html index.htm;

location / {
try_files $uri $uri/ /index.php?$args;

# PHP FPM との接続を行うため 拡張子phpに対して処理します。
location ~ \.php$ {
fastcgi_index index.php;
fastcgi_pass unix:/var/lib/php/php-fpm.sock;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_cache SITE1;
fastcgi_cache_valid 200 2h;
fastcgi_cache_valid 302 2h;
fastcgi_cache_valid 301 4h;
fastcgi_cache_valid any 1m;
}
}

location ~ .*\.(html?|jpe?g|gif|png|css|js|ico|woff) {
access_log off;
expires 10d;
}

location = /robots.txt { access_log off; log_not_found off; }

location ~ /\. { deny all; access_log off; log_not_found off; }

}

server {
# サーバーのデフォルトTCPポートです。
listen 80;

client_max_body_size 20m;

# サーバー名を設定します。
server_name b.w4c.work;

# ログファイル名を設定します。
access_log /var/log/nginx/w4c.work/b.w4c.work/access.log;
error_log /var/log/nginx/w4c.work/b.w4c.work/error.log;

# ドキュメントルートディレクトリを設定します。
root /var/www/w4c.work/b.w4c.work;

location / {
# index file タイプの優先順を設定します。
index index.php index.html index.htm;

try_files $uri $uri/ /index.php?$args;

# PHP FPM との接続を行うため 拡張子phpに対して処理します。
location ~ \.php$ {
fastcgi_index index.php;
fastcgi_pass unix:/var/lib/php/php-fpm.sock;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_cache SITE2;
fastcgi_cache_valid 200 2h;
fastcgi_cache_valid 302 2h;
fastcgi_cache_valid 301 4h;
fastcgi_cache_valid any 1m;
}
}

location ~ .*\.(html?|jpe?g|gif|png|css|js|ico|woff) {
access_log off;
expires 10d;
}

location = /robots.txt { access_log off; log_not_found off; }

location ~ /\. { deny all; access_log off; log_not_found off; }

}


$ cd /var/www  
                                                                                                               
$ ls -la
合計 4
drwxr-xr-x   4 root root   31  2月  3 09:51 .
drwxr-xr-x. 21 root root 4096  2月  3 09:51 ..
drwxr-xr-x   2 root root    6 10月 20 05:39 cgi-bin
drwxr-xr-x   2 root root    6 10月 20 05:39 html

$ cd html/
$ ls -la
合計 0
drwxr-xr-x 2 root root  6 10月 20 05:39 .
drwxr-xr-x 4 root root 31  2月  3 09:51 ..

$ mkdir -p /var/www/w4c.work/a.w4c.work
mkdir: ディレクトリ `/var/www/w4c.work' を作成できません: 許可がありません

$ sudo mkdir -p /var/www/w4c.work/a.w4c.work
[sudo] password for ★★: 

$ chown -R ★★:★★ /var/www/w4c.work/a.w4c.work
chown: `/var/www/w4c.work/a.w4c.work' の所有者を変更中: 許可されていない操作です

$ sudo chown -R ★★:★★ /var/www/w4c.work/a.w4c.work
$ cd /var/www/w4c.work/a.w4c.work
$ sudo vi index.php
<?php echo 'hoge'; ?>


ブラウザ経由で「a.w4c.work」へアクセス
hoge
・駄目じゃん

$ cd /etc/nginx/conf.d/
$ ls -la
合計 12
drwxr-xr-x 2 root root 48 2月 8 11:30 .
drwxr-xr-x 3 root root 4096 1月 27 11:39 ..
-rw-r--r-- 1 root root 1093 10月 17 22:21 default.20180205
-rw-r--r-- 1 root root 1539 2月 5 13:46 default.conf

$ mv default.conf default.conf_20180209
mv: `default.conf' から `default.conf_20180209' へ移動できません: 許可がありません

$ sudo mv default.conf default.conf_20180209
[sudo] password for ★★: 

$ ls -la
合計 12
drwxr-xr-x 2 root root 57 2月 9 11:43 .
drwxr-xr-x 3 root root 4096 1月 27 11:39 ..
-rw-r--r-- 1 root root 1093 10月 17 22:21 default.20180205
-rw-r--r-- 1 root root 1539 2月 5 13:46 default.conf_20180209
[dotinstall@tk2-407-44982 conf.d]$ sudo mv default.20180205 default.conf

$ ls -la
合計 12
drwxr-xr-x 2 root root 53 2月 9 11:44 .
drwxr-xr-x 3 root root 4096 1月 27 11:39 ..
-rw-r--r-- 1 root root 1093 10月 17 22:21 default.conf
-rw-r--r-- 1 root root 1539 2月 5 13:46 default.conf_20180209


ブラウザ経由で「a.w4c.work」へアクセス
Welcome to nginx!
・余計駄目じゃん

WordPressで複数ドメインを管理する方法【Nginxでバーチャルホスト編】







NginxでWordPressを使う時の設定をまとめてみた
nginxでデフォルトのバーチャルホストを設定する方法
apache+mod_php を nginx+php-fpmに移行 (+ TCP Connection & File Descriptor)
nginx fastcgi_params を include する箇所、割と皆間違ってるよね?
CentOS + nginx + PHP環境でのnginxの設定めも
nginx $document_root$fastcgi_script_name と $request_filename の違い
PHP FastCGI の例 | NGINX 日本語訳
Nginx(virtualhost)+php-fpmでPHPが動作しない(凡ミス編)
Nginxとphp-fomを使ってバーチャルホストを立ててみた
PHP7(php-fpm)+nginxを動かすまでの設定


5回目-8.IPアドレスではなくドメインでアクセス

5回目-10.locale



週間人気ページランキング / 9-19 → 9-25
順位 ページタイトル抜粋 アクセス数
1 Nginx設定。エラーログレベル | Nginx(Webサーバ) 16
2 PHP実行ユーザ設定 / CentOS6 / Apache | PHP(プログラミング言語) 15
3 PHPのmb_send_mail関数でメール送信できない | メール処理システム 11
4 9回目-13.MySQL5.7.21設定 | CentOS 7 2週間無料のお試し期間 9回目(さくらVPS) 10
5 tar: これは tar アーカイブではないようです 8
5 ImageMagick と imagick の違い | ImageMagick(ソフトウェアスイート) 8
5 さくらVPS0 8
6 manページ日本語表示 | CentOS 7 (CentOS) 7
6 Python 3.5 アンインストール / yum remove | Python(プログラミング言語) 7
7 ABRT により 問題が検出されました | CentOS 7 (CentOS) 6
7 Reached target Shutdown メッセージが表示されたあと、シャットダウンまたは再起動プロセスがハングアップする | CentOS 7 (CentOS) 6
7 PHPファイルでchmodエラー | PHP(プログラミング言語) 6
7 echo と cat の違い 6
8 FFmpeg 2.8.15 を yum インストール | ソフトウェアスイート 5
8 「設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。」対応 5
8 「CentOS6」から「CentOS7」への移行 | CentOS 7 (CentOS) 5
8 「さくらVPS」で、「CentOS6」を「CentOS7」へ変更するためには? | CentOS 7 2週間無料のお試し期間 Link(さくらVPS) 5
9 6回目-10.Nginxでバーチャルホスト設定確認 | CentOS 7 2週間無料のお試し期間 6回目(さくらVPS) 4
9 cronで定期実行しているphpファイルを、コマンドライン経由で即時実行する | cron(Linuxコマンド) 4
9 MySQL 5.5 から 5.6 へのアップグレード | MySQL(データベース) 4
2021/9/26 1:01 更新