αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž‚αŸ†αžšαžΌ VPS αž‡αžΆαž˜αž½αž™ Drupal 9 αž“αŸ…αž›αžΎ Centos 8

αž™αžΎαž„αž”αž“αŸ’αžαž–αž„αŸ’αžšαžΈαž€αž‘αžΈαž•αŸ’αžŸαžΆαžšαžšαž”αžŸαŸ‹αž™αžΎαž„αŸ” αžαŸ’αž˜αžΈαŸ—αž“αŸαŸ‡αž™αžΎαž„αž”αžΆαž“αž”αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž–αžΈαžšαž”αŸ€αž” αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžšαžΌαž”αž—αžΆαž– Gitlabαž αžΎαž™αž“αŸ…αžŸαž”αŸ’αžαžΆαž αŸαž“αŸαŸ‡ Drupal αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αžαŸ’αž›αž½αž“αž“αŸ…αž€αŸ’αž“αž»αž„αž‘αžΈαž•αŸ’αžŸαžΆαžšαžšαž”αžŸαŸ‹αž™αžΎαž„αŸ”

αž™αžΎαž„αž”αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž–αžΈαž˜αžΌαž›αž αŸαžαž»αžŠαŸ‚αž›αž™αžΎαž„αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž‚αžΆαžαŸ‹ αž“αž·αž„αžšαž”αŸ€αž”αžŠαŸ‚αž›αžšαžΌαž”αž—αžΆαž–αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αŸ”

αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž‚αŸ†αžšαžΌ VPS αž‡αžΆαž˜αž½αž™ Drupal 9 αž“αŸ…αž›αžΎ Centos 8

Drupal - αž‡αžΆαžœαŸαž‘αž·αž€αžΆαžŠαŸαž„αžΆαž™αžŸαŸ’αžšαž½αž› αž“αž·αž„αž˜αžΆαž“αž’αž“αž»αž—αžΆαž–αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž€αžΎαžαž‚αŸαž αž‘αŸ†αž–αŸαžšαž‚αŸ’αžšαž”αŸ‹αž”αŸ’αžšαž—αŸαž‘αŸ– αž–αžΈ microsites αž“αž·αž„αž”αŸ’αž›αž€αŸ‹αž‘αŸ…αž€αžΆαž“αŸ‹αž‚αž˜αŸ’αžšαŸ„αž„αžŸαž„αŸ’αž‚αž˜αž’αŸ†αŸ— αž”αŸ’αžšαžΎαž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αŸαž αž‘αŸ†αž–αŸαžš αžŸαžšαžŸαŸαžšαž€αŸ’αž“αž»αž„ PHP αž“αž·αž„αž”αŸ’αžšαžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ”

Drupal 9 αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαŸ‚ 8.9 αŸ” αž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαžŸαŸ†αžαžΆαž“αŸ‹αžšαžœαžΆαž„αž€αŸ†αžŽαŸ‚ 9 αž“αž·αž„αž€αŸ†αžŽαŸ‚ 8 αž‚αžΊαžαžΆαžœαŸαž‘αž·αž€αžΆαž“αŸαŸ‡αž“αžΉαž„αž”αž“αŸ’αžαž‘αž‘αž½αž›αž”αžΆαž“αž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαž αž“αž·αž„αž€αžΆαžšαž‡αž½αžŸαž‡αž»αž›αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαžαŸ‚αžœαž·αž…αŸ’αž†αž·αž€αžΆ αž†αŸ’αž“αžΆαŸ† 2021αŸ” αž€αŸ†αžŽαŸ‚αž‘αžΈ 9 αž€αŸαž‡αž½αž™αžŸαž˜αŸ’αžšαž½αž›αžŠαž›αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαž αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž±αŸ’αž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸƒαž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαžαž–αžΈαž€αŸ†αžŽαŸ‚ 8 αž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αŸ”

αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ

αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαžΎ Drupal αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž’αŸ„αž™αž”αŸ’αžšαžΎ RAM 2 GB αž“αž·αž„ CPU 2 coresαŸ”

αž―αž€αžŸαžΆαžšαžŸαŸ†αžαžΆαž“αŸ‹αŸ—αžšαž”αžŸαŸ‹ Drupal αž˜αžΆαž“αž‘αŸ†αž αŸ†αž”αŸ’αžšαž αŸ‚αž› 100 MB αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž€αž“αŸ’αž›αŸ‚αž„αž•αŸ’αž‘αž»αž€αžšαžΌαž”αž—αžΆαž– αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ αžŸαŸ’αž”αŸ‚αž€ αž˜αŸ‰αžΌαžŒαž»αž›αž”αž“αŸ’αžαŸ‚αž˜ αž“αž·αž„αž€αžΆαžšαž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αžŠαŸ‚αž›αž“αžΉαž„αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαž‘αŸ†αž αŸ†αž‚αŸαž αž‘αŸ†αž–αŸαžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

Drupal 9 αž‘αžΆαž˜αž‘αžΆαžš PHP 7.4 αž¬αžαŸ’αž–αžŸαŸ‹αž‡αžΆαž„αž“αŸαŸ‡ αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž’αž”αŸ’αž”αž”αžšαž˜αžΆ (memory_limit) αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ† 64 αž˜αŸαž€αžΆαž”αŸƒ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αŸ‰αžΌαžŒαž»αž›αž”αž“αŸ’αžαŸ‚αž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎ αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž±αŸ’αž™αžŠαŸ†αž‘αžΎαž„ 128 αž˜αŸαž€αžΆαž”αŸƒαŸ”

Drupal αž’αžΆαž…αž”αŸ’αžšαžΎ Apache ឬ Nginx αž‡αžΆ web server αž“αž·αž„ MySQL, PostgreSQL ឬ SQLite αž‡αžΆ databaseαŸ”

αž™αžΎαž„αž“αžΉαž„αžŠαŸ†αž‘αžΎαž„ Drupal αžŠαŸ„αž™αž”αŸ’αžšαžΎ Nginx αž“αž·αž„ MySQL αŸ”

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹

αžαŸ„αŸ‡αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž€αž‰αŸ’αž…αž”αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αž‘αŸ…αž€αŸ†αžŽαŸ‚αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž”αŸ†αž•αž»αžαŸ–

sudo dnf update -y

αž…αžΌαžšαž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž‡αžΆαž’αž…αž·αž“αŸ’αžαŸ’αžšαŸƒαž™αŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αžšαžΆαž…αžšαž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹αž…αŸ’αžšαž€ http/80 αž“αž·αž„ https/443αŸ–

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

αžαŸ„αŸ‡αž’αž“αž»αžœαžαŸ’αžαž…αŸ’αž”αžΆαž”αŸ‹αž‡αž‰αŸ’αž‡αžΆαŸ†αž„αž—αŸ’αž›αžΎαž„αžαŸ’αž˜αžΈαŸ–

sudo systemctl reload firewalld

αžαŸ„αŸ‡αžŠαŸ†αž‘αžΎαž„ NginxαŸ–

sudo dnf install nginx -y

αžαŸ„αŸ‡αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ αž“αž·αž„αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ NginxαŸ–

sudo systemctl start nginx
sudo systemctl enable nginx

αžŠαŸ„αž™αžŸαžΆαžšαžƒαŸ’αž›αžΆαŸ†αž„ Centos αžŸαŸ†αžαžΆαž“αŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž”αŸ’αžšαžΎ PHP 7.2 αžŸαžΌαž˜αž”αž“αŸ’αžαŸ‚αž˜αžƒαŸ’αž›αžΆαŸ†αž„ REMI αž‡αžΆαž˜αž½αž™ PHP 7.4 (αž€αŸ†αžŽαŸ‚αž’αž”αŸ’αž”αž”αžšαž˜αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Drupal 9)αŸ”
αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŠαžΌαž…αž“αŸαŸ‡αž”αž“αŸ’αžαŸ‚αž˜αžƒαŸ’αž›αžΆαŸ†αž„ EPEL (αž‘αžΆαž˜αž‘αžΆαžšαžŠαŸ„αž™αžƒαŸ’αž›αžΆαŸ†αž„ REMI)αŸ–

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

αžαŸ„αŸ‡αž”αž“αŸ’αžαŸ‚αž˜αžƒαŸ’αž›αžΆαŸ†αž„ REMIαŸ–

sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

αžαŸ„αŸ‡αž”αžΎαž€αž˜αŸ‰αžΌαžŒαž»αž› php:remi-7.4 αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αž‘αžΎαž„ php 7.4αŸ–

sudo dnf module enable php:remi-7.4 -y

αžŠαŸ†αž‘αžΎαž„ php-fpm αž“αž·αž„ php-cliαŸ–

sudo dnf install -y php-fpm php-cli

αžαŸ„αŸ‡αžŠαŸ†αž‘αžΎαž„αž˜αŸ‰αžΌαžŒαž»αž› PHP αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Drupal αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ–

sudo dnf install -y php-mysqlnd php-date php-dom php-filter php-gd php-hash php-json php-pcre php-pdo php-session php-simplexml php-spl php-tokenizer php-xml

αž™αžΎαž„αž€αŸαž“αžΉαž„αžŠαŸ†αž‘αžΎαž„αž˜αŸ‰αžΌαžŒαž»αž› PHP mbstring opcache αžŠαŸ‚αž›αž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž•αž„αžŠαŸ‚αžšαŸ–

sudo dnf install -y php-mbstring php-opcache

αžαŸ„αŸ‡αžŠαŸ†αž‘αžΎαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ MySQLαŸ–

sudo dnf install mysql-server -y

αžαŸ„αŸ‡αž”αžΎαž€ αž“αž·αž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ MySQLαŸ–

sudo systemctl start mysqld
sudo systemctl enable mysqld

αžŠαŸ„αž™αžŸαžΆαžšαž™αžΎαž„αž€αŸ†αž–αž»αž„αž”αž„αŸ’αž€αžΎαžαž‚αŸ†αžšαžΌαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ VDS αž αžΎαž™αž–αž½αž€αžœαžΆαž’αžΆαž…αž™αžΊαž αž™αžΎαž„αž“αžΉαž„αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž–αž“αŸ’αž™αžΆαž–αŸαž›αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ mysqld 30 αžœαž·αž“αžΆαž‘αžΈ αž”αžΎαž˜αž·αž“αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž‘αŸαžœαžΆαž’αžΆαž…αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž€αŸ†αž‘αž»αž„αž–αŸαž›αž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ†αž”αžΌαž„αŸ–

sudo sed -i '/Group=mysql/a 
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.service

αžαŸ„αŸ‡αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž€αŸ’αžšαž»αž˜ αž“αž·αž„αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŠαŸ‚αž› nginx αž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αž’αŸ’αžœαžΎαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αŸ… /etc/php-fpm.d/www.conf:

sudo sed -i --follow-symlinks 's/user = apache/user = nginx/g' /etc/php-fpm.d/www.conf
sudo sed -i --follow-symlinks 's/group = apache/group = nginx/g' /etc/php-fpm.d/www.conf

αžαŸ„αŸ‡αž”αŸ’αžαžΌαžšαž˜αŸ’αž…αžΆαžŸαŸ‹αžαž PHP sessions αž‘αŸ…αž‡αžΆ nginx αžαžΆαž˜αŸ–

sudo chown -R nginx. /var/lib/php/session

αžαŸ„αŸ‡αž›αž»αž”αž”αž“αŸ’αž‘αžΆαžαŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αž˜αžαž·αž™αŸ„αž”αž›αŸ‹αž–αžΈαž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ /etc/nginx/nginx.conf (αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž˜αž·αž“αž˜αžΆαž“αž€αŸαŸ‡αž‘αŸ’αžœαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ sed):

sudo sed -i -e '/^[ t]*#/d'  /etc/nginx/nginx.conf

αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž€αžΆαžšαž”αž„αŸ’αž αžΆαž”αŸ‹ gzip αž‘αŸ… /etc/nginx/nginx.conf

sudo sed -i '/types_hash_max_size 2048;/a 

    gzip on;
    gzip_static on;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/x-icon image/svg+xml application/x-font-ttf;
    gzip_comp_level 9;
    gzip_proxied any;
    gzip_min_length 1000;
    gzip_disable "msie6";
    gzip_vary on; 
' /etc/nginx/nginx.conf

αžαŸ„αŸ‡αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž“αŸƒαž―αž€αžŸαžΆαžšαž›αž·αž”αž·αž€αŸ’αžšαž˜ index.php αž‘αŸ… /etc/nginx/nginx.confαŸ–

sudo sed -i '/        root         /usr/share/nginx/html;/a 
        index index.php index.html index.htm;
' /etc/nginx/nginx.conf

αžαŸ„αŸ‡αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αŸ– αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš PHP αžαžΆαž˜αžšαž™αŸˆαžšαž“αŸ’αž’ php-fpm αž”αž·αž‘αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž―αž€αžŸαžΆαžšαž‹αž·αžαž·αžœαž“αŸ’αž αž”αž„αŸ’αž€αžΎαž“αž–αŸαž›αžœαŸαž›αžΆαž•αž»αžαž€αŸ†αžŽαžαŸ‹ αž”αž·αž‘αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎ αž“αž·αž„αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž€αŸ†αž αž»αžŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ favicon.ico αž“αž·αž„ robots.txt αž“αž·αž„αž”αžŠαž·αžŸαŸαž’αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎ .ht αž―αž€αžŸαžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžšαžΆαž›αŸ‹αž‚αŸ’αž“αžΆαŸ–

sudo sed -i '/        location / {/a 
		try_files $uri $uri/ /index.php?q=$uri&$args;
        }
    
        location ~* ^.+.(js|css|png|jpg|jpeg|gif|ico|woff)$ {
        access_log off;
        expires max;
        }
    
        location ~ .php$ {
        try_files  $uri =404;
        fastcgi_pass   unix:/run/php-fpm/www.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_intercept_errors on;
        fastcgi_ignore_client_abort off;
        fastcgi_connect_timeout 60;
        fastcgi_send_timeout 180;
        fastcgi_read_timeout 180;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
        }
    
        location = /favicon.ico {
        log_not_found off;
        access_log off;
        }
    
        location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
        }
    
        location ~ /.ht {
        deny all;' /etc/nginx/nginx.conf

αžŠαŸ†αž‘αžΎαž„ wget αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αž‘αžΎαž„ certbotαŸ–

sudo dnf install wget -y

αž‘αžΆαž‰αž™αž€αž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž’αžΆαž…αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž”αžΆαž“ certbot αž–αžΈαž€αž“αŸ’αž›αŸ‚αž„αž€αŸ’αžšαŸ…αž”αžŽαŸ’αžαžΆαž‰αŸ–

cd ~
wget https://dl.eff.org/certbot-auto

αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈ certbot αž‘αŸ… /usr/local/bin/:

mv certbot-auto /usr/local/bin/certbot-auto

αž αžΎαž™β€‹αžŸαžΌαž˜β€‹αž€αŸ†αžŽαžαŸ‹β€‹αžŸαž·αž‘αŸ’αž’αž·β€‹αž‡αžΆβ€‹αž˜αŸ’αž…αžΆαžŸαŸ‹β€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αž…αžΆαž€αŸ‹β€‹αž¬αžŸαŸ–

chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

αžαŸ„αŸ‡αžŠαŸ†αž‘αžΎαž„ certbot dependencies αž αžΎαž™αž“αŸ…αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž“αŸαŸ‡αžšαŸ†αžαžΆαž“αž€αžΆαžšαž„αžΆαžšαžšαž”αžŸαŸ‹αžœαžΆ (αž…αž˜αŸ’αž›αžΎαž™αŸ– Y, c)αŸ–

certbot-auto

αžαŸ„αŸ‡αž‘αžΆαž‰αž™αž€αž”αŸαžŽαŸ’αžŽαžŸαžΆαžšαž‡αžΆαž˜αž½αž™αž€αŸ†αžŽαŸ‚αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž”αŸ†αž•αž»αžαžšαž”αžŸαŸ‹ Drupal 9 αž–αžΈαž€αž“αŸ’αž›αŸ‚αž„αž€αŸ’αžšαŸ…αž”αžŽαŸ’αžαžΆαž‰αŸ–

cd ~
wget https://www.drupal.org/download-latest/tar.gz

αžŠαŸ†αž‘αžΎαž„ tar αžŠαžΎαž˜αŸ’αž”αžΈαž–αž“αŸ’αž›αžΆαž”αŸαžŽαŸ’αžŽαžŸαžΆαžšαŸ–

sudo dnf install tar -y

αžαŸ„αŸ‡αž›αž»αž”αž―αž€αžŸαžΆαžšαž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž“αŸ…αž€αŸ’αž“αž»αž„αžαž /usr/share/nginx/html/αŸ–

rm -rf /usr/share/nginx/html/*

αžαŸ„αŸ‡β€‹αžŸαŸ’αžšαžΆαž™β€‹αž―αž€αžŸαžΆαžšβ€‹αž…αžΌαž›β€‹αž€αŸ’αž“αž»αž„β€‹αžαžβ€‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“β€‹αž”αž˜αŸ’αžšαžΎβ€‹αž”αžŽαŸ’αžŠαžΆαž‰αŸ–

tar xf tar.gz -C /usr/share/nginx/html/

αžαŸ„αŸ‡αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž―αž€αžŸαžΆαžšαž–αžΈαžαžαžšαž„αž‘αŸ…αžαž root αž“αŸƒαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‚αŸαž αž‘αŸ†αž–αŸαžšαŸ–

mv /usr/share/nginx/html/drupal-9.0.7/* /usr/share/nginx/html/

αžαŸ„αŸ‡αž›αž»αž”αžαžαžšαž„αŸ–

rm -rf /usr/share/nginx/html/drupal-9.0.7

αžαŸ„αŸ‡αž›αž»αž”αž”αŸαžŽαŸ’αžŽαžŸαžΆαžšαž‡αžΆαž˜αž½αž™αž―αž€αžŸαžΆαžšαžŠαŸ†αž‘αžΎαž„αŸ–

rm -f ./tar.gz

αž…αžΌαžšαž€αŸ†αžŽαžαŸ‹αž˜αŸ’αž…αžΆαžŸαŸ‹αž―αž€αžŸαžΆαžš nginxαŸ–

chown -R nginx. /usr/share/nginx/html

αž“αŸ…αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž“αŸαŸ‡ αž™αžΎαž„αž“αžΉαž„αž”αž·αž‘αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ αž αžΎαž™αžαžαžšαžΌαž”αž˜αž½αž™αžŸαž“αŸ’αž›αžΉαž€αŸ–

shutdown -h now

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš VDS αž–αžΈαžšαžΌαž”αžαž αž™αžΎαž„αž“αžΉαž„αž’αŸ’αžœαžΎαž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αžŠαŸ†αž”αžΌαž„αž“αŸƒαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ MySQL αžŠαŸ„αž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαŸ’αž‚αŸ’αžšαžΈαž”αŸ–

mysql_secure_installation

αžαŸ„αŸ‡αž”αžΎαž€αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αŸ–

Would you like to setup VALIDATE PASSWORD component? : y

αž…αžΌαžšαž€αŸ†αžŽαžαŸ‹αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‡αžΆ root MySQLαŸ–

New password:
Re-enter new password:

αžαŸ„αŸ‡αž›αž»αž”αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž“αžΆαž˜αž·αž€αž…αŸαž‰αŸ–

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y

αžαŸ„αŸ‡αž€αžΆαžšαž–αžΆαžš root αž–αžΈαž€αžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹αž–αžΈαž…αž˜αŸ’αž„αžΆαž™αŸ–

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y

αžαŸ„αŸ‡αž›αž»αž”αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαžΆαž€αž›αŸ’αž”αž„αŸ–

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y

αžαŸ„αŸ‡αž•αŸ’αž‘αž»αž€αžαžΆαžšαžΆαž„αž―αž€αžŸαž·αž‘αŸ’αž’αž·αž‘αžΎαž„αžœαž·αž‰αŸ–

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž“αŸαŸ‡αžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž…αž”αŸ‹αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž™αžΎαž„αž’αžΆαž…αž‘αŸ… vps_ip_αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“
αž“αŸ…αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αž“αŸαŸ‡αž™αžΎαž„αž“αžΉαž„αžƒαžΎαž‰αž‘αŸ†αž–αŸαžšαžŠαŸ†αž‘αžΎαž„ Drupal αŸ”

αžαŸ„αŸ‡αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž—αžΆαžŸαžΆαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΎαŸ” αž§αž‘αžΆαž αžšαžŽαŸαŸ– αžšαž»αžŸαŸ’αžŸαŸŠαžΈαŸ” αž…αž»αž… "αžšαž€αŸ’αžŸαžΆαž‘αž»αž€ αž“αž·αž„αž”αž“αŸ’αž"

αžαŸ„αŸ‡αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž‘αž˜αŸ’αžšαž„αŸ‹αžŠαŸ†αž‘αžΎαž„ (αž€αžΆαžšαž”αž„αŸ’αž αžΆαž‰αž‚αžΊαž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαžŸαŸ’αž‚αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž―αž„αž‡αžΆαž˜αž½αž™αž”αŸ’αžšαž–αŸαž“αŸ’αž’)αŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžšαž”αžŸαŸ‹αž™αžΎαž„αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αžœαžΆαž‡αžΆ "αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžš" αŸ”

αž“αŸ…αž‘αŸ†αž–αŸαžšαž”αž“αŸ’αž‘αžΆαž”αŸ‹ αž™αžΎαž„αž“αžΉαž„αž•αŸ’αžαž›αŸ‹αžˆαŸ’αž˜αŸ„αŸ‡αž‘αŸ…αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž§αž‘αžΆαž αžšαžŽαŸ "drupal" αŸ” αž…αžΌαžšαž…αž„αŸ’αž’αž»αž›αž”αž„αŸ’αž αžΆαž‰αžˆαŸ’αž˜αŸ„αŸ‡αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ root αž“αž·αž„αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž‚αžΆαžαŸ‹αž“αŸ…αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš mysql_secure_installation αŸ” αž…αž»αž… "αžšαž€αŸ’αžŸαžΆαž‘αž»αž€ αž“αž·αž„αž”αž“αŸ’αžαŸ”"

αžαŸ„αŸ‡αžšαž„αŸ‹αž…αžΆαŸ†αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ αž“αž·αž„αž’αžΆαž”αŸ‹αžŠαŸαžαž€αžΆαžšαž”αž€αž”αŸ’αžšαŸ‚αžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž…αž”αŸ‹ (αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžΆαž…αž…αŸ†αžŽαžΆαž™αž–αŸαž›αž…αŸ’αžšαžΎαž“αž“αžΆαž‘αžΈ)αŸ”

αž™αžΎαž„αž“αžΉαž„αž…αž„αŸ’αž’αž»αž›αž”αž„αŸ’αž αžΆαž‰αžˆαŸ’αž˜αŸ„αŸ‡αž‚αŸαž αž‘αŸ†αž–αŸαžš αž€αŸ†αžŽαžαŸ‹αž’αŸŠαžΈαž˜αŸ‚αž›αž‚αŸαž αž‘αŸ†αž–αŸαžš (αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αž€αžΆαžšαž‡αžΌαž“αžŠαŸ†αžŽαžΉαž„αž‚αŸαž αž‘αŸ†αž–αŸαžšαžŽαžΆαž˜αž½αž™αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž‰αžΎ) αž…αžΌαž› αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž’αŸŠαžΈαž˜αŸ‚αž›αžšαž”αžŸαŸ‹αž‚αžŽαž“αžΈαž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ Drupal αŸ” αž™αžΎαž„αž€αŸαž“αžΉαž„αž€αŸ†αžŽαžαŸ‹αž”αŸ’αžšαž‘αŸαžŸ αž“αž·αž„αžαŸ†αž”αž“αŸ‹αž–αŸαž›αžœαŸαž›αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžαŸ†αž”αž“αŸ‹αž•αž„αžŠαŸ‚αžšαŸ” αž αžΎαž™αž”αž‰αŸ’αž…αž”αŸ‹αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αžŠαŸ„αž™αž…αž»αž… "αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž“αž·αž„αž”αž“αŸ’αž" αŸ”

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹αž•αŸ’αž‘αžΆαŸ†αž„αž”αž‰αŸ’αž‡αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž…αžΌαž› αž“αž·αž„αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ Drupal αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαŸ”

αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ HTTPS (αž‡αžΆαž‡αž˜αŸ’αžšαžΎαžŸ)

αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ HTTPS VDS αžαŸ’αžšαžΌαžœαžαŸ‚αž˜αžΆαž“αžˆαŸ’αž˜αŸ„αŸ‡ DNS αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž€αŸ’αž“αž»αž„

/etc/nginx/nginx.conf

αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ αžˆαŸ’αž˜αŸ„αŸ‡αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ (αž§αž‘αžΆαž αžšαžŽαŸ)αŸ–

server_name  domainname.ru;

αžαŸ„αŸ‡αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ nginx αž‘αžΎαž„αžœαž·αž‰αŸ–

service nginx restart

αžαŸ„αŸ‡αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ certbotαŸ–

sudo /usr/local/bin/certbot-auto --nginx

αž”αž‰αŸ’αž…αžΌαž›αž’αŸŠαžΈαž˜αŸ‚αž›αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž™αž›αŸ‹αž–αŸ’αžšαž˜αž“αžΉαž„αž›αž€αŸ’αžαžαžŽαŸ’αžŒαž“αŸƒαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ (A) αž‡αžΆαžœαž–αŸ’αžšαžΉαžαŸ’αžαž·αž”αŸαžαŸ’αžšαž–αŸαžαŸŒαž˜αžΆαž“ (αžŸαŸ’αžšαŸαž…αž…αž·αžαŸ’αž) (N) αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžˆαŸ’αž˜αŸ„αŸ‡αžŠαŸ‚αž“αžŠαŸ‚αž›αž’αŸ’αž“αž€αž…αž„αŸ‹αž…αŸαž‰αžœαž·αž‰αŸ’αž‰αžΆαž”αž“αž”αžαŸ’αžš (αž”αž‰αŸ’αž…αžΌαž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžšαžΆαž›αŸ‹αž‚αŸ’αž“αžΆ)αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αžœαžΈαŸ—αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž€αŸ†αž αž»αžŸ αž™αžΎαž„αž“αžΉαž„αžƒαžΎαž‰αžŸαžΆαžšαž’αŸ†αž–αžΈαž€αžΆαžšαž…αŸαž‰αžœαž·αž‰αŸ’αž‰αžΆαž”αž“αž”αžαŸ’αžš αž“αž·αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ„αž™αž‡αŸ„αž‚αž‡αŸαž™αŸ–

Congratulations! You have successfully enabled ...

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž“αŸαŸ‡ αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž…αŸ’αžšαž€ 80 αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΌαž“αž”αž“αŸ’αžαž‘αŸ… 443 (https) αŸ”

αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ… /etc/crontab αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžœαž·αž‰αŸ’αž‰αžΆαž”αž“αž”αžαŸ’αžšαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ–

# Cert Renewal
30 2 * * * root /usr/local/bin/certbot-auto renew --post-hook "nginx -s reload"

αžŠαŸ†αž‘αžΎαž„αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžŠαŸ‚αž›αž‘αž»αž€αž…αž·αžαŸ’αž (αž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†)

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž“αŸαŸ‡αž˜αžΆαž“αž‚αŸ„αž›αž”αŸ†αžŽαž„αž‡αžΆαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž…αŸ†αž–αŸ„αŸ‡αž”αž‰αŸ’αž αžΆαžŠαŸ‚αž›αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžαžΆαž˜αžœαž“αŸ’αž base_url αž αžΎαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž…αž“αžΆαž‘αžΎαž„αžŠαžΎαž˜αŸ’αž”αžΈαž€αžΆαžšαž–αžΆαžšαž€αžΆαžšαžœαžΆαž™αž”αŸ’αžšαž αžΆαžš HTTP HOST Header (αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž‚αŸαž αž‘αŸ†αž–αŸαžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‚αž·αžαžαžΆαžœαžΆαž‡αžΆαž’αŸ’αž“αž€αž•αŸ’αžŸαŸαž„)αŸ”

αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžˆαŸ’αž˜αŸ„αŸ‡αžŠαŸ‚αž“αžŠαŸ‚αž›αž’αžΆαž…αž‘αž»αž€αž…αž·αžαŸ’αžαž”αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αŸαž αž‘αŸ†αž–αŸαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžšαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžš

/usr/share/nginx/html/sites/default/settings.php αž…αžΌαžšαž™αžΎαž„αž˜αž·αž“αž•αŸ’αžαž›αŸ‹αž™αŸ„αž”αž›αŸ‹ αž¬αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‡αžΆαž˜αž½αž™αž›αŸ†αž“αžΆαŸ†αž“αŸƒαžˆαŸ’αž˜αŸ„αŸ‡αž‚αŸαž αž‘αŸ†αž–αŸαžšαž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„ αž§αž‘αžΆαž αžšαžŽαŸαŸ–

$settings['trusted_host_patterns'] = [
  '^www.mydomain.ru$',
];

αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ PHP APCu (αž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†)

Drupal αž‚αžΆαŸ†αž‘αŸ’αžš APCu - Alternative PHP User Cache αž€αŸ†αžŽαŸ‚ 8 αž“αž·αž„ 9 αž’αŸ’αžœαžΎαž±αŸ’αž™αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ APCu αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αž‡αžΆαžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž»αž€αžšαž™αŸˆαž–αŸαž›αžαŸ’αž›αžΈαž‡αžΆαž„αž€αŸ†αžŽαŸ‚αž˜αž»αž“αŸ” αž‘αŸ†αž αŸ†αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ (32 αž˜αŸαž€αžΆαž”αŸƒ) αž‚αžΊαžŸαž˜αžšαž˜αŸ’αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αŸαž αž‘αŸ†αž–αŸαžšαž—αžΆαž‚αž…αŸ’αžšαžΎαž“ αž αžΎαž™αž˜αž·αž“αž’αžΆαž…αž›αžΎαžŸαž–αžΈ 512 αž˜αŸαž€αžΆαž”αŸƒαž”αžΆαž“αž‘αŸαŸ”

αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αžŸαžΌαž˜αžŠαŸ†αž‘αžΎαž„αž˜αŸ‰αžΌαžŒαž»αž› PHP APCuαŸ–

dnf -y install php-pecl-apcu

αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ nginx αž“αž·αž„ php-fpm αž‘αžΎαž„αžœαž·αž‰αŸ–

service nginx restart
service php-fpm restart

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž—αžΆαžŸαžΆαžšαž»αžŸαŸ’αžŸαžΈ αž“αž·αž„ APCu αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž‘αŸ†αž αŸ†αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžŠαŸ‚αž›αž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž’αŸ’αž“αž€αž’αžΆαž…αžƒαžΎαž‰αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž‘αžΆαŸ†αž„αž”αž‰αŸ’αž‡αžΆαžαžΆαž‘αŸ†αž αŸ†αž“αŸƒαž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžŠαŸ‚αž›αž”αžΆαž“αž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž‚αžΊαžαž»αžŸαž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ† αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαžΆαž˜αž–αž·αžαž’αŸ’αžœαžΈαŸ—αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αžΆαž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ αž αžΎαž™αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž‘αŸ†αž“αž„αž‡αžΆαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ‚αžαž˜αŸ’αžšαžΌαžœαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαžαž”αž“αŸ’αž‘αžΆαž”αŸ‹αŸ”

αž¬αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžŠαž›αŸ‹αž—αŸ’αž“αŸ‚αž€αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎ αž”αŸ†αžŽαŸ‡αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž–αžΈαž€αŸ’αžšαŸ…αž”αžŽαŸ’αžαžΆαž‰.

αž™αžΎαž„β€‹αž…αž„αŸ‹β€‹αžšαŸ†αž›αžΉαž€β€‹αž’αŸ’αž“αž€β€‹αžαžΆ αž’αŸ’αž“αž€β€‹αž€αŸβ€‹αž’αžΆαž…β€‹αž”αž„αŸ’αž€αžΎαžβ€‹αžšαžΌαž”αž—αžΆαž–β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž™αžΎαž„β€‹αž”αžΆαž“β€‹αžŠαŸ‚αžšαŸ”

αž˜αžΆαž“αž‡αž˜αŸ’αžšαžΎαžŸαž”αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαž”αŸ€αž”αž…αžΌαž›αžšαž½αž˜αŸ”

αžšαŸ€αž”αž…αŸ†αžšαžΌαž”αž—αžΆαž–αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αž αžΎαž™αž‘αž‘αž½αž›αž”αžΆαž“ 3000 rubles αž‘αŸ…αž“αžΉαž„αžŸαž˜αžαž»αž›αŸ’αž™αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“αž‡αžΆαžŸαŸ’αžšαŸαž…αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαž‰αžΆαž”αŸ‹αž”αŸ’αžšαž‰αžΆαž›αŸ‹αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αžŸαž˜αžšαž—αžΌαž˜αž·αž—αŸ’αž›αžΆαž˜αŸ— αž αžΎαž™αž”αž„αŸ’αž€αžΎαžαžšαžΌαž”αž—αžΆαž–αžŠαŸ‚αž›αž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αž”αžΆαžαŸ‹αž“αŸ„αŸ‡ αž™αžΎαž„αž“αžΉαž„αž•αŸ’αžαž›αŸ‹αž₯αžŽαž‘αžΆαž“αžŠαž›αŸ‹αž’αŸ’αž“αž€αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž‘αžΉαž€αž”αŸ’αžšαžΆαž€αŸ‹αž…αŸ†αž“αž½αž“ 3000 αžšαžΌαž”αŸ’αž›αŸ‚αžŠαž›αŸ‹αžŸαž˜αžαž»αž›αŸ’αž™αžαžΆαž„αž€αŸ’αž“αž»αž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αž…αŸ†αžŽαžΆαž™αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαŸ”

αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαžαžšαžΌαž”αž—αžΆαž–αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ–

  1. αž”αž„αŸ’αž€αžΎαžαž‚αžŽαž“αžΈαž‡αžΆαž˜αž½αž™αž™αžΎαž„αž“αŸ…αž›αžΎ αžαŸ†αž”αž“αŸ‹αž”αžŽαŸ’αžαžΆαž‰
  2. αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž‚αžΆαŸ†αž‘αŸ’αžšαžŠαžΉαž„αžαžΆαž’αŸ’αž“αž€αž“αžΉαž„αž”αž„αŸ’αž€αžΎαž αž“αž·αž„αžŸαžΆαž€αž›αŸ’αž”αž„αžšαžΌαž”αž—αžΆαž–
  3. αž™αžΎαž„αž“αžΉαž„αž•αŸ’αžαž›αŸ‹αž₯αžŽαž‘αžΆαž“αžŠαž›αŸ‹αž’αŸ’αž“αž€ 3000 αžšαžΌαž”αŸ’αž›αž· αž αžΎαž™αž”αžΎαž€αž›αž‘αŸ’αž’αž—αžΆαž–αž”αž„αŸ’αž€αžΎαžαžšαžΌαž”αžαž
  4. αž”αž‰αŸ’αž‡αžΆαž‘αž·αž‰αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αž·αž˜αŸ’αž˜αž·αžαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŸαŸ’αž’αžΆαž
  5. αžŠαŸ†αž‘αžΎαž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž›αžΎ VPS αž“αŸαŸ‡αž αžΎαž™αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžœαžΆαŸ”
  6. αžŸαžšαžŸαŸαžšαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ† αž¬αžŸαŸ’αž‚αŸ’αžšαžΈαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ
  7. αž”αž„αŸ’αž€αžΎαžαžšαžΌαž”αžαžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ‚αž›αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’
  8. αž”αž‰αŸ’αž‡αžΆαž‘αž·αž‰αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αž·αž˜αŸ’αž˜αž·αžαžαŸ’αž˜αžΈαžŠαŸ„αž™αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžšαžΌαž”αžαžαžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž–αžΈαž˜αž»αž“αž“αŸ…αž€αŸ’αž“αž»αž„αž”αž‰αŸ’αž‡αžΈαž‘αž˜αŸ’αž›αžΆαž€αŸ‹αž…αž»αŸ‡ "αž‚αŸ†αžšαžΌαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ"
  9. αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžŠαŸ„αž™αž‡αŸ„αž‚αž‡αŸαž™ αž•αŸ’αž‘αŸαžšαžŸαž˜αŸ’αž—αžΆαžšαŸˆαžŠαŸ‚αž›αž‘αž‘αž½αž›αž”αžΆαž“αž“αŸ…αž‡αŸ†αž αžΆαž“αž‘αžΈ 6 αž‘αŸ…αž€αžΆαž“αŸ‹αž‡αŸ†αž“αž½αž™αž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸ
  10. αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αžΆαž“αž€αŸ†αž αž»αžŸ αž’αŸ’αž“αž€αž’αžΆαž…αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžŠαŸ„αž™αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž αŸαžαž»αž•αž› αž αžΎαž™αž’αŸ’αžœαžΎαž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž˜αŸ’αžαž„αž‘αŸ€αž

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αŸ’αž…αžΆαžŸαŸ‹αž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αŸ– αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž‡αžΆαž’αŸ’αž“αž€αž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž“αž·αž„αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž“αŸ…αž›αžΎ VPS αž“αŸ„αŸ‡αž™αžΎαž„αž’αžΆαž…αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž’αŸ’αž“αž€αž“αŸ…αž€αŸ’αž“αž»αž„αž‘αžΈαž•αŸ’αžŸαžΆαžšαŸ” αž“αŸαŸ‡αž‡αžΆαžšαž”αŸ€αž”αžŠαŸ‚αž›αž™αžΎαž„αž’αžΆαž…αž‡αž½αž™αž’αŸ’αž“αž€αž“αžΆαŸ†αž™αž€αž’αžαž·αžαž·αž‡αž“αžαŸ’αž˜αžΈ αž…αžšαžΆαž…αžšαžŽαŸ αž“αž·αž„αž€αžΆαžšαž™αž›αŸ‹αžŠαžΉαž„αŸ” αžŸαžšαžŸαŸαžšαž˜αž€αž™αžΎαž„

αž”αŸ’αžšαžΆαž”αŸ‹αž™αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžαž·αž™αŸ„αž”αž›αŸ‹αžαžΆαžαžΎαžšαžΌαž”αž—αžΆαž–αžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αžΆαžαŸ‹αžαŸ’αž›αž½αž“?

αž αžΎαž™αž™αžΎαž„αž“αžΉαž„αžšαŸ€αž”αž…αŸ†αžœαžΆαžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αŸ”

αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž‚αŸ†αžšαžΌ VPS αž‡αžΆαž˜αž½αž™ Drupal 9 αž“αŸ…αž›αžΎ Centos 8

αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž‚αŸ†αžšαžΌ VPS αž‡αžΆαž˜αž½αž™ Drupal 9 αž“αŸ…αž›αžΎ Centos 8

αž”αŸ’αžšαž—αž–: www.habr.com