Öncelik Nginx kurulumu gerçekleştirelim.
# yum install epel-release -y # yum install nginx -y
Yükleme yapacağımız repoları tanıtalım ve PHP kurulumunu yapalım.
# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y # yum --disablerepo="*" --enablerepo="remi-safe" list php[7-9][0-9].x86_64 # yum-config-manager --enable remi-php74 # yum install php php-fpm php-mysqlnd php-mysqli php-common php-xml php-xmlrpc php-curl php-gd php-imagick php-cli php-imap php-mbstring php-opcache php-soap php-zip php-intl -y # php --version
PHP-FPM için gerekli ayarlamaları yapalım. İlgili satırları aşağıdaki şekilde güncelleyelim.
# nano /etc/php-fpm.d/www.conf
user = nginx group = nginx listen = /var/run/php-fpm/php-fpm.sock; listen.owner = nginx listen.group = nginx listen.mode = 0660
Nginx ve PHP-FPM servislerini başlatalım ve başlangıçta açılması için ayarlayalım.
# systemctl restart nginx # systemctl enable nginx # systemctl restart php-fpm # systemctl enable php-fpm
Barındırılacak alan adı için dizin ve nginx ayarlamalarını yapalım. Öncelikle dizin ayarlamalarını yapalım.
# mkdir -p /var/www/html/my-domain/public_html # mkdir -p /var/www/html/my-domain/logs # touch /var/www/html/my-domain/logs/ozcelik.log # chown $USER:$USER /var/www/html/my-domain/ # chown -R $USER:$USER /var/www/html/my-domain/ # find /var/www/html/my-domain -type f -exec chmod 664 {} \; # find /var/www/html/my-domain -type d -exec chmod 775 {} \;
Ardından alan adımız için Nginx .conf dosyasını oluşturalım ve içeriği aşağıdakine benzer bir yapıda düzenleyelim.
# nano /etc/nginx/conf.d/my-domain.com.conf
server { listen 80; listen [::]:80; server_name my-domain.com; root /var/www/html/my-domain/public_html; index index.php index.html index.htm; error_log /var/www/html/my-domain/logs/my-domain.log; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc|svg|woff|woff2|ttf)$ { expires 1M; access_log off; add_header Cache-Control "public"; } location ~* \.(?:css|js)$ { expires 2d; access_log off; add_header Cache-Control "public, must-revalidate"; } location ~ /\. { deny all; } }
Son olarak Nginx ayarlarının sorunsuz olup olmadığını kontrol edelim.
# nginx -t