以前は必要になるとXamppを使ってたけど、今回はNginx環境を手動で作ってみる。
Nginx
Windows用のzipファイルをダウンロードし解凍する。設定ファイルはもともとのコメント部を消して、とりあえずこんな感じ。
nginx-1.19.2/conf/nginx.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; root html; index index.php index.html; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } } |
Nginxフォルダのパスに日本語があると起動しない場合があるので注意。
PHP
ダウンロードして解凍したら、phpというフォルダでnginxの中に入れる。
(nginx-1.19.2/php)
php.ini-development
をコピーしてphp.iniにし、
extension_dir=”ext”
extension=php_mysqli.dll
を追記する。
MariaDB
ダウンロードして解凍したら、mariadbというフォルダでnginxの中に入れる。
(nginx-1.19.2/mariadb)
nginx-1.19.2/mariadb/bin
の中にある、mysql_install_db.exeを実行すると、
nginx-1.19.2/mariadb/data
が作成され、my.iniも入っている。
(Nginxフォルダを移動したらmy.iniを修正しないと起動しない)
手動でDB作成等に使う場合、まずbinの中のmysqld.exeを起動。次にコマンドプロンプトからmysql -u root のような感じでログインできる。
・設定
nginx-1.19.2/mariadb/bin
に移動しmysqldを起動後、
mysql -u root
とするとログインできる。
mysql> set password = password(“1234”);
・データベース作成
mysql> create database wpd character set utf8;
(utf8を指定しないとWPのインストールでエラー)
起動・終了バッチ
start.bat
1 2 3 |
start nginx.exe start /min php/php-cgi.exe -b 127.0.0.1:9000 start mariadb/bin/mysqld.exe |
my.iniを自動で書き換える場合このような感じ
1 2 3 4 5 6 7 8 9 10 |
echo [mysqld] > ./mariadb/data/my.ini set p=%~dp0mariadb/data echo datadir=%p:\=/% >> ./mariadb/data/my.ini echo [client] >> ./mariadb/data/my.ini set p=%~dp0mariadb/lib/plugin echo plugin-dir=%p:\=/% >> ./mariadb/data/my.ini start nginx.exe start /min php/php-cgi.exe -b 127.0.0.1:9000 start mariadb/bin/mysqld.exe |
stop.bat
1 2 3 |
nginx.exe -s quit Taskkill /f /im php-cgi.exe mariadb/bin/mysqladmin.exe -u root -p1234 shutdown |
あるいは全て強制終了
(こうしないとプロセスが残る場合あり)
1 2 3 |
Taskkill /f /im nginx.exe Taskkill /f /im php-cgi.exe Taskkill /f /im mysqld.exe |
mysql.bat
mysqlのディレクトリに移動するためだけのバッチ
1 2 |
cd %~dp0mariadb/bin cmd /k |
WordPress
nginx-1.19.2\html\wp
にWordPressを解凍したので、ブラウザから、
http://localhost/wp
にアクセス。
DBの情報を入れて送信したところ、
サイトに重大なエラーがありました。
と表示されエラーになった。
(1度目のインストール)
・DBをリセット
フォルダを手動で削除せず、mysqlのコマンドからdrop databaseする。
そして再度create databaseする。
・wp-config.phpを削除
wp-config-sample.phpを複写し、名前をwp-config.phpに変更する。
wp-config.phpが存在しないと自動でwp-config.phpは作成されるが、ここでは手動でwp-config.phpを設定する。
wp-config.phpの以下の部分をtrueに変更する。
define( ‘WP_DEBUG’, true);
以下の部分にDB情報を記入する。
define( ‘DB_NAME’, ‘wpd’ );
define( ‘DB_USER’, ‘root’ );
define( ‘DB_PASSWORD’, ‘1234’ );
再度挑戦するが、
サイトに重大なエラーがありました。
と表示されるだけで、特にエラー内容は表示されない。
(2度目のインストール)
Nginxのログ(logs/error.log)
を確認すると、
Fatal error: Maximum execution time of 30 seconds exceeded
とあるので、
php.iniで下記の部分を30から120に変更
max_execution_time = 120
(3度目のインストール)
これでインストールできた。
LAN経由(外部)から見る場合、ファイアーウォールに新しい規則を追加する。
もしCSSが適用されていない場合は、
設定>一般>アドレス
をIPアドレスに変更してみる。