r00ts
Hectopat
Daha fazla
- Cinsiyet
- Erkek
Bu rehberde, Ubuntu/Debian tabanlı bir sistemde nginx + PHP-fpm kullanarak yüksek performanslı bir web sunucusunun nasıl yapılandırılacağını adım adım anlatacağım. Laravel, WordPress gibi PHP tabanlı projelerde maksimum verim ve performans elde etmek isteyenler için idealdir.
Adım 2: gerekli paketlerin kurulumu
Aşağıdaki satırları bulun ve düzenleyin:
PHP-fpm'i yeniden başlat:
İçeriği şu şekilde güncelleyin:
Yapılandırma testi:
Yeniden başlat:
Şu satırları kontrol edin veya ekleyin:
İçine şunu yazın:
Tarayıcıdan erişin:
Satır ekleyin:
adım 1: sistem güncellemeleri
Kod:
sudo apt update && sudo apt upgrade -y
Adım 2: gerekli paketlerin kurulumu
Kod:
sudo apt install nginx php-fpm php-mysql unzip curl -y
adım 3: PHP-fpm yapılandırması
Kod:
sudo nano /etc/php/8.1/fpm/php.ini
Aşağıdaki satırları bulun ve düzenleyin:
Kod:
cgi.fix_pathinfo=0
memory_limit = 512M.
upload_max_filesize = 64M.
post_max_size = 64M.
max_execution_time = 180
PHP-fpm'i yeniden başlat:
Kod:
sudo systemctl restart php8.1-fpm
Not: PHP sürümünüz farklı ise, 8.1 yerine kendi sürümünüzü yazın.
adım 4: nginx sanal host yapılandırması
Kod:
sudo nano /etc/nginx/sites-available/default
İçeriği şu şekilde güncelleyin:
Kod:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Yapılandırma testi:
Kod:
sudo nginx -t
Yeniden başlat:
Kod:
sudo systemctl restart nginx
adım 5: güvenlik ve performans ayarları
Kod:
sudo nano /etc/nginx/nginx.conf
Şu satırları kontrol edin veya ekleyin:
Kod:
worker_processes auto;
keepalive_timeout 65;
server_tokens off;
adım 6: test sayfası oluşturma
Kod:
sudo nano /var/www/html/info.php
İçine şunu yazın:
Kod:
<?php phpinfo(); ?>
Tarayıcıdan erişin:
Kod:
http://sunucu-ip-adresi/info.php
adım 7: ekstra performans önerileri
- PHP Opcache'i aktif edin: Opcache. Enable = 1
- Gzip modülünü Nginx'te aktif hale getirin.
- Redis veya memcached kullanımı ciddi performans artışı sağlar.
adım 8: let's encrypt SSL sertifikası kurulumu
Kod:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx
adım 9: günlük görevler için cronjob örneği
Kod:
sudo crontab -e
Satır ekleyin:
Kod:
0 3 * * * /usr/bin/php /var/www/html/artisan schedule:run >> /dev/null 2>&1