Debian we Ubuntu-da Nginx bilen WordPress-i nädip gurmaly


NGINX ( motor-x diýilýär) açyk çeşme güýçli, ýeňil we çeýe HTTP serweri bolup, soňky ýyllarda meşhurlyk gazandy we häzirki wagtda esasy serwer interfeýsi bolup durýar şu günler Facebook , WordPress , Sourceforge ýa-da beýlekiler ýaly iň uly traffik web sahypalaryna ygtyýar berýär.

Ony şeýle çalt we ygtybarly edýän zat, Apache ýaly modully dizaýny ulanýandygy, ýöne hadysalara esaslanýan asynkron arhitekturany ulanyp, web rozetkalaryna başgaça çemeleşmegi. haýyşlary kabul edişi ýaly çalt we ýönekeý konfigurasiýa faýllaryny ulanýar.

Ubuntu we Debian esasly ulgamlar üçin Nginx eýýäm ammarlarynda bukja hökmünde düzüldi we apt paket kömegi arkaly gurnalyp bilner.

Şeýle hem, Apache ýaly Wirtual Hostlar goldaýar we PHP-FPM arkaly serwerdäki PHP faýllary bilen aragatnaşyk saklamak üçin Fastcgi kanalyny ulanýar.

Bu gollanma, wirtual hostda WordPress CMS web sahypasyny ýerleşdirmek üçin Nginx üçin gurnama we esasy faýl konfigurasiýalaryny öz içine alýar we sazlama Ubuntu 18.04/20.04 , Debian 10/9 we Linux Mint 20/19/18 .

Nginx web serwerini gurmak

1. Ubuntu , Debian ýa-da Linux Mint üçin Nginx gurnamasy beýleki paketler ýaly gönümel we ýönekeý buýruk bilen gurnalyp bilner.

$ sudo apt-get install nginx

2. Ondan soň, aşakdaky systemctl buýruklaryny ulanyp, Nginx-iň ýagdaýyny başlaň, işlediň we barlaň.

$ sudo systemctl start nginx
$ sudo systemctl enable nginx
$ sudo systemctl status nginx

PHP we MariaDB serwerini gurmak

3. Nginx-iň WordPress işlemegi üçin PHP, PHP-FPM, we MariaDB paketlerini gurmaly.

$ sudo apt-get install php php-mysql php-fpm php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip mariadb-server mariadb-client

4. Ondan soň, “MariaDB” maglumat bazasynyň hyzmatynyň işleýändigini we ulgamyňyz açylanda awtomatiki işe başlamagyny üpjün ediň.

$ sudo systemctl status mariadb
$ sudo systemctl is-enabled mariadb

5. FastCGI arkasy bilen habarlaşmak üçin PHP-FPM hyzmaty serwerde işjeň bolmaly.

$ sudo systemctl start php7.4-fpm
$ sudo systemctl enable php7.4-fpm
$ sudo systemctl status php7.4-fpm

6. Indi MariaDB paketiňiz bilen iberilýän mysql_secure_installation skriptini işledip, MariaDB gurnamagyňyzy ygtybarly etmeli.

$ sudo mysql_secure_installation

Scriptazgy işledilenden soň, MariaDB gurnamagyňyzyň howpsuzlygyny aşakdaky usullar bilen gowulandyrmak üçin hawa (y) jogap berip boljak birnäçe sorag ýüze çykar:

  • Kök üçin häzirki paroly giriziň (hiç birine girmäň): Enter
  • Kök parolyny düzüň? [Y/n] y
  • Anonim ulanyjylary aýyrýarsyňyzmy? [Y/n] y
  • Kök girişini uzakdan gadagan ediň? [Y/n] y
  • Synag maglumatlar bazasyny aýyryň we oňa girip bilersiňizmi? [Y/n] y
  • artykmaçlyk tablisalaryny täzeden ýükläňmi? [Y/n] y

WordPress-i gurmak

7. WordPress serwerde maglumatlary saklamak üçin maglumat bazasyny talap edýär, şonuň üçin görkezilişi ýaly mysql buýrugyny ulanyp web sahypaňyz üçin täze WordPress maglumat bazasyny dörediň.

# mysql -u root -p
MariaDB [(none)]> CREATE DATABASE mysite;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mysite.* TO 'mysiteadmin'@'localhost' IDENTIFIED BY  '[email !';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

8. Indi WordPress Wirtual Host kök ýoluny döretmegiň, WordPress arhiwini göçürip almagyň, ony göçürmegiň we /var/www/html/wordpress -iň gaýtalanýan nusgasyny çykarmagyň wagty geldi.

$ sudo mkdir -p /var/www/html/mysite.com
$ wget http://wordpress.org/latest.tar.gz
$ tar xfvz latest.tar.gz
$ sudo cp -r wordpress/* /var/www/html/mysite.com

9. Haýsydyr bir wp-config.php döretmek faýlynda ýalňyşlyklar bolmazdan, WordPress gurnamak üçin, Nginx www-data ulgam ulanyjylaryna ýazmaga rugsat beriň. /var/www/html/mysite.com ýoly we WordPress guranyňyzdan soň üýtgeşmeleri yzyna öwüriň.

$ sudo chown -R www-data /var/www/html/mysite.com
$ sudo chmod -R 755 /var/www/html/mysite.com

WordPress web sahypasy üçin NGINX wirtual host döretmek

10. Indi Nginx serwerinde WordPress web sahypasy üçin esasy Wirtual Host döretmegiň wagty geldi. WordPress serwer konfigurasiýa faýly döretmek üçin aşakdaky buýrugy işlediň.

$ sudo vim /etc/nginx/conf.d/mysite.com.conf

Soňra aşakdaky mazmuny goşuň.

server {
        listen 80;
        listen [::]:80;
        root /var/www/html/mysite.com; index index.php index.html index.htm; server_name mysite.com www.mysite.com; error_log /var/log/nginx/mysite.com_error.log; access_log /var/log/nginx/mysite.com_access.log; client_max_body_size 100M; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }

11. Düzgüne görä, Nginx ähli islegleri default serwer blokyna ugrukdyrýar. Şol sebäpli, WordPress web sahypaňyzy ýa-da şol bir serwerde ýerleşdirmek isleýän beýleki web sahypalaryňyzy işletmek üçin default serwer blokyny aýyryň.

$ sudo rm /etc/nginx/sites-enabled/default
$ sudo rm /etc/nginx/sites-available/default

12. Ondan soň, täze üýtgeşmeleri ulanmak üçin Nginx hyzmatyny täzeden açmazdan ozal, NGINX konfigurasiýa sintaksisini barlaň.

$ sudo nginx -t
$ sudo systemctl restart nginx

Web gurnaýjynyň üsti bilen WordPress gurnamasyny tamamlamak

13. Indi web brauzeriňizi açyň we web gurnaýjysyny ulanyp, WordPress gurnamasyny tamamlaň.

http://mysite.com/
OR
http://SERVER_IP/

14. Soňra ady, administrator ulanyjy ady, paroly we e-poçta salgysy ýaly web sahypasynyň maglumatlaryny goşuň. Soňra gurnamagy dowam etdirmek üçin WordPress gurmak düwmesine basyň.

15. WordPress gurmak gutaransoň, aşakdaky ekranda görkezilişi ýaly giriş düwmesine basyp, web sahypasynyň administratorynyň dolandyryş paneline giriň.

16. Web sahypasynyň administratorynyň giriş sahypasynda, ýokarda döredilen ulanyjy adyňyzy we parolyňyzy beriň we sahypaňyzyň administrator paneline girmek üçin giriş düwmesine basyň.

17. Gurmakdan soň aşakdaky buýrugy bermek bilen rugsatlary yzyna alyň.

$ sudo chown -R root /var/www/html/mysite.com

WordPress-de HTTPS-i işlediň

18. WordPress web sahypaňyzda HTTPS-i işletmek isleseňiz, “Let Encrypt” -den görkezilişi ýaly mugt SSL şahadatnamasyny gurmaly.

$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository universe
$ sudo apt-get update
$ sudo apt-get install certbot python3-certbot-nginx
$ sudo certbot --nginx

Mugt SSL şahadatnamasyny ulanyp, WordPress sahypaňyzyň dogry gurlandygyny tassyklamak üçin https://yourwebsite.com/ web sahypaňyza giriň we URL setirinde gulp nyşanyny gözläň. Ativea-da bolmasa, sahypaňyzyň HTTPS-ni https://www.ssllabs.com/ssltest/ sahypasynda barlap bilersiňiz.

Gutlaýarys! WordPress-iň iň soňky wersiýasyny serweriňizde NGINX bilen üstünlikli gurnadyňyz, indi täze web sahypaňyzy ýa-da blogyňyzy gurup başlaň.