環境
-  Arch: amd64
-  OS(userland): NetBSD 6.1
-  kernel: NetBSD 6.1
-  nginx: 1.12.2
-  PHP: 5.6.35
-  MariaDB: 5.5.59
-  drupal: 7.58
http://drupal.orgから drupal-7.58.tar.gz をダウンロードします。
バックアップ
インストール
- 新しいソースを展開します。
 
 % tar zxvf drupal-7.58.tar.gz
% cp -r drupal-7.58 /home/htdocs/foobar
% cd /home/htdocs/foobar
 
 
- mysqlのアクセス設定をします。
 
 % cp sites/default/default.settings.php sites/default/settings.php
% vi sites/default/settings.php
(少なくとも以下の1行はサイトにあわせて変更します)
$db_url = 'mysql://drupaluser:password@localhost/drupal';
 
 
- 自作themeなど、標準以外のthemeを使用している場合はsites/all/themes/ 以下に展開しておきます。
 
 % cp -pr somewhere/foobar/themes/mysite sites/all/themes/
 
 
- faviconやlogoなどを使用している場合はバックアップからコピーします。
 
 % cp -pr somewhere/foobar/files .
 
 
- 標準以外のモジュールを使っている場合はそれを展開します。モジュールを新たに置いた後はDBのアップデートなどが必要なのでこのページの最後のほうにあるupdate.phpへのアクセスが必要となります。
 
 % cd sites/all/modules
% cp -pr backup/sites/all/modules/* .
 
 
DBのアップデート
webブラウザからAdminユーザでloginして
http://example.com/update.php をアクセスし指示に従います。
今回は、ここで問題が発生しました。以下のようなメッセージが大量に表示されました。
User warning: The following module is missing from the file system: MODULE NAME. In order to fix this, put the module back in its original location. For more information, see the the documentation page. in _drupal_trigger_error_with_delayed_logging() 
warningなのでまずはupdate処理を完了させました。
その後、この対策をします。検索した結果、drupal 7.50以降でこの現象が起こるようです。対策としては
https://www.drupal.org/project/module_missing_message_fixer
このモジュールをインストールします。
モジュールインストール後、モジュールを有効にして、
以下のURLにアクセスします。
http://example.com/admin/config/system/module-missing-message-fixer
指示に従い対処します。
http://example.com/ をアクセスして確認します。
adminでloginして、
Administer>Reports>Available Updates で確認し必要があればモジュールを手動で更新します。
Administer>Reports>Status Reportsで問題がないか確認します。
以上でdrupal側設定は終了です。
nginxの設定
/usr/local/nginx/conf/drupal.example.net.conf
    server {
           listen [2001:0db8::2]:80;
           listen 80;
           server_name drupal.example.net;
           access_log  logs/drupal.example.net/access.log;
           error_log  logs/drupal.example.net/error.log  notice;
           root /home/somewhere/htdocs;
           location / {
                index index.php;
                try_files $uri $uri/ @rewrite;
           }
           location @rewrite {
                rewrite ^/(.*)$ /index.php?q=$1 last;
           }
           location ~* ((cron\.php|settings\.php)|\.(htaccess|engine|inc|info|install|module|profile|pl|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(Entries.*|Repository|Root|Tag|Template))$ {
                 deny all;
           }
 
           location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
                expires max;
           }
           location ~ \.php$ {
                 fastcgi_pass  127.0.0.1:9000;
                 fastcgi_index index.php;
                 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                 include fastcgi_params;
           }
           error_page  404              /index.php;
    }
/usr/local/nginx/conf/nginx.conf
.
.
http {
         .
         .
    include drupal.example.net.conf;
}