This article interested me.
– Sorry this is Japanese article.
PHP標準のアプリケーションサーバー「PHP-FPM」から「NGINX Unit」に乗り換えるだけで約8倍も応答速度が改善したというテスト結果
NGINX Unitはさまざまな言語で動作可能なオープンソースの動的アプリケーションサーバーです。PHPのアプリケーションを動作させる際にNGINX Unitを使うと、PHP-FPMを使う場合に比べて約8倍も応答速度が改善するというテスト結...
Currently my WordPress is on Raspberry Pi so I am curious performance.
I tried to setup WordPress by Nginx Unit.
TL;DR
This is directory/file structure.
$ tree . ├── docker-compose.yml ├── myapp │ └── config.json └── wordpress └── Dockerfile 3 directories, 3 files
docker-compose.yml
version: '3.1' services: wordpress: build: context: wordpress restart: always ports: - 8080:8080 links: - db volumes: - ./myapp/config.json:/docker-entrypoint.d/config.json - wordpress_var_run:/var/run db: image: mariadb:latest restart: always ports: - 3306:3306 environment: MYSQL_ROOT_PASSWORD: root MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress MYSQL_DATABASE: wordpress volumes: - wordpress_var_run:/var/run volumes: wordpress_var_run:
Dockerfile
FROM unit:php RUN mkdir /www/ && \ cd /www/ && \ curl -L https://ja.wordpress.org/latest-ja.tar.gz -o wordpress.tar.gz && \ tar zxvf wordpress.tar.gz && \ mv wordpress/* . && \ rm -f /www/wordpress.tar.gz && \ chown -R www-data:www-data /www/ && \ docker-php-ext-install mysqli && \ docker-php-ext-enable mysqli
config.json
– You can configure applications/wordpress/processes based on your CPU cores.
{ "listeners": { "*:8080": { "pass": "routes" } }, "routes": [ { "match": { "uri": [ "*.php", "*.php/*", "/wp-admin/" ] }, "action": { "pass": "applications/wordpress/direct" } }, { "action": { "share": "/www$uri", "fallback": { "pass": "applications/wordpress/index" } } } ], "applications": { "wordpress": { "type": "php", "user": "www-data", "processes": 12, "targets": { "direct": { "root": "/www/" }, "index": { "root": "/www/", "script": "index.php" } } } } }
You can see initial setup page when you access http://localhost:8080.
$ sudo apt install -y docker docker-compose $ sudo docker-compose up -d
Reference
NGINX Unit: Unit in Docker
NGINX Unit: WordPress
Conclusion
How was it?
I would like to improve below points to be able to use for me!
- WAF(ModSecurity) activation
- Cache enabling
- Others
Comments