Turpinot lietot mājas lapu cloudhosting.lv, Jūs piekrītat sīkdatņu izmantošanas noteikumiem. Uzzināt vairāk. Piekrītu
CentOS 7.5 - NGINX (Mainline), PHP 7.3, LetsEncrypt SSL - Uzstādīšana un konfigurācija
NGINX ir pārāks par vairumu citu tīmekļa serveru attiecībā uz veiktspēju, uzbrukumu mazināšanas potenciālu un resursu izmantošanu. Bet daudziem cilvēkiem ir grūti iegūt visu pareizi un pamatoti. Daudzi instalācijas skripti, kas jums pārvalda Nginx, vai citi ceļveži var sniegt jums norādījumus, kā instalēt novecojušu versiju, kurai, iespējams, trūkst kritisku drošības atjauninājumu vai veiktspējas izmaiņu, vai PHP konfigurāciju, kas pārlūkprogrammās rada servera kļūdas. Mēs esam pārbaudījuši savu un garantējam, ka tas darbojas šajā vidē.
Instalējiet PHP 7.3 no Remi krātuves
Instalējiet yum-utils rīkam yum-config-manager
yum install -y yum-utils
Instalējiet Epel un Remi krātuves
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Iespējot Remi krātuvi
yum-config-manager --enable remi-php73
Piezīme. Šajā rokasgrāmatā jūs varat mainīt “php73” uz “php72” (vai citām versijām), lai izmantotu citu PHP versiju, ja šeit esošā neatbalsta jums nepieciešamos moduļus.
Palaist atjaunināšanu, pēc tam instalējiet PHP pakotnes
yum update -y
yum install -y php73 php73-php-fpm
Šīs PHP instalācijas laikā ir jārediģē php.ini konfigurācija (varat izmantot jebkuru teksta redaktoru, mēs dodam priekšroku nano, mēs esam vēsāki nekā vim'ers)
nano /etc/opt/remi/php73/php.ini
Aizvietot:
;cgi.fix_pathinfo=1
Ar:
cgi.fix_pathinfo=0
(Remove semicolon, change 1 to 0)
Tagad mums ir jārediģē PHP-FPM konfigurācija
nano /etc/opt/remi/php73/php-fpm.d/www.conf
Aizvietot:
listen = 127.0.0.1:9000
Ar:
listen = /var/run/php73-fpm/php73-fpm.sock
Rediģējiet to pašu failu, zemākā konfigurācijā, kas jums būs jāmaina nano /etc/opt/remi/php73/php-fpm.d/www.conf
Aizvietot:
;listen.owner = nobody ;listen.group = nobody
Ar:
listen.owner = nginx listen.group = nginx
(Noņemiet semikolu un mainiet “neviens” uz “nginx”)
Tagad rediģējiet to pašu failu vēlreiz, netālu no konfigurācijas augšdaļas, jums būs jāmaina nano /etc/opt/remi/php73/php-fpm.d/www.confAizvietot:
user = apache group = apache
Ar:
user = nginx group = nginx
Tagad izveidojiet kontaktligzdas faila direktoriju
mkdir /var/run/php73-fpm
Mainiet sesiju direktorija failu atļaujas, lai PHP sesijas darbotos pareizi
chown -R nginx:nginx /var/opt/remi/php73/lib/php/session
Pēc NGINX instalēšanas mēs varam sākt PHP-FPM, ja mēģināsim tagad, tas parādīs kļūdu, jo sistēmas nginx lietotājs vēl nav izveidots
systemctl restart php73-php-fpm
systemctl enable php73-php-fpm
Piezīme. Pirms PHP-FPM palaišanas vispirms būs jāinstalē Nginx.
Instalējiet NGINX Mainline no Nginx krātuves
Vispirms mums jāpievieno NGINX PGP atslēga, lai pārbaudītu integritāti un apstiprinātu pakotņu izcelsmi
wget http://nginx.org/keys/nginx_signing.key
rpm --import nginx_signing.key && rm -rf nginx_signing.key
Tagad varēsim pievienot NGINX repo, izveidot jaunu failu
nano /etc/yum.repos.d/nginx.repo
Pievienojiet šo saturu un saglabājiet:
[nginx]
name=nginx baseurl=http://nginx.org/packages/mainline/centos/7/x86_64/ gpgcheck=1 enabled=1
Tagad mēs varam instalēt NGINX Mainline
yum update -y
yum install -y nginx
Startējiet NGINX un iespējojiet sāknēšanas laikā
systemctl start nginx
systemctl enable nginx
Pārbaudiet NGINX versiju un statusu, lai apstiprinātu
systemctl status nginx && nginx -v
Tagad mēs varam izveidot jaunu virtuālo resursdatora konfigurāciju savam domēnam. Pārliecinieties, ka visi vietne “example.com” tiek aizstāti ar savu domēnu
nano /etc/nginx/conf.d/example.com.conf
Ielīmējiet šādu saturu:
server {
listen 80; server_name www.example.com example.com; root /usr/share/nginx/example.com; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php$query_string; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.htm { root /usr/share/nginx/example.com; } location ~ .php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php73-fpm/php73-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Restartējiet NGINX, restartējiet arī PHP-FPM, jo nginx lietotājs ir izveidots tagad
systemctl restart nginx
systemctl restart php73-php-fpm
Izveidosim virtuālā resursdatora tīmekļa direktoriju tagad un izveidosim indeksa failu un PHP informācijas failu, lai apstiprinātu, ka PHP apstrāde darbojas
mkdir /usr/share/nginx/example.com
echo "test index" >> /usr/share/nginx/example.com/index.html echo "" >> /usr/share/nginx/example.com/info.php
Tagad apmeklējiet savu domēnu savā tīmekļa pārlūkprogrammā, lai pārliecinātos, ka viss darbojas. Varat doties uz savu domēnu /info.php, lai pārbaudītu PHP moduļus un parametrus
Lai nākotnē atjauninātu NGINX uz jaunām galvenajām versijām, vienkārši izpildiet šo
yum update nginx -y systemctl restart nginx
Ja jūs izmantojat ugunsmūri, pārliecinieties, vai ir atļauts abu tīmekļa portu ugunsmūris:
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --permanent --add-port=80/tcp firewall-cmd --reload
iptables:
iptables -I INPUT -p tcp --dport 443 -j ACCEPT iptables -I INPUT -p tcp --dport 80 -j ACCEPT
Instalējiet LetsEncrypt SSL un virtuālajam resursdatoram iespējojiet HTTPS un HTTP / 2
Tagad instalējiet LetsEncrypt certbot
yum install -y certbot-nginx
Palaidiet certbot tagad, tas prasīs Webroot direktoriju un jūsu e-pastu. Mūsu instalētajam "certbot-nginx" automātiski jāmaina jūsu Nginx virtuālā resursdatora konfigurācija, tāpēc nav vajadzīgas manuālas izmaiņas.
certbot --authenticator webroot --installer nginx
Izveidojiet crontab ierakstu, lai sertifikātu automātiski atjaunotu katru mēnesi
crontab -e
Pievienot:
35 4 * * 1 certbot renew >> /var/log/certbot-renew.log
Viss pabeigts!