Files
Epicnabbo-Catalogus-Updated…/extra tuts/Atombest speed.md
T
2025-09-20 19:40:08 +02:00

90 lines
1.8 KiB
Markdown

### 1\. Install Redis and PHP Extension
Start by installing Redis and the PHP extension to enable your PHP code to communicate with Redis.
**On Debian/Ubuntu:**
```bash
sudo apt update
sudo apt install redis-server php-redis
```
Restart your PHP service (e.g., PHP-FPM) to load the extension:
```bash
sudo systemctl restart php8.4-fpm
```
-----
### 2\. Configure the `.env` File
Modify the following lines in your `.env` file to tell Laravel to use Redis.
```env
CACHE_DRIVER=redis
QUEUE_CONNECTION=redis
SESSION_DRIVER=redis
REDIS_CLIENT=phpredis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
```
-----
### 3\. Install and Configure Supervisor
Supervisor is needed to manage your queue workers and automatically restart them on crashes.
```bash
sudo apt install supervisor
```
Create the configuration file for your worker:
```bash
sudo nano /etc/supervisor/conf.d/atomcms-worker.conf
```
Paste the following code into the file and save it. Make sure you use the `atomcms` path.
```ini
[program:atomcms-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/atomcms/artisan queue:work redis --sleep=3 --tries=3 --max-jobs=500
autostart=true
autorestart=true
user=www-data
numprocs=8
redirect_stderr=true
stdout_logfile=/var/www/atomcms/storage/logs/worker.log
stopwaitsecs=3600
```
-----
### 4\. Finalize and Test
Ensure that the logs directory and your entire project have the correct permissions for the `www-data` user.
```bash
sudo chown -R www-data:www-data /var/www/atomcms
```
Load the Supervisor configuration and start the workers.
```bash
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start atomcms-worker:*
```
You can check the status of your workers with:
```bash
sudo supervisorctl status
```
If you see `RUNNING`, your setup is correct, and your application is optimally configured.