Jinsi ya kufunga WordPress na Nginx kwenye Debian na Ubuntu


NGINX (inatamkwa injini-x) ni seva huria yenye nguvu, nyepesi na inayoweza kunyumbulika ya HTTP ambayo imeongezeka kwa umaarufu katika miaka iliyopita na sasa ndicho kiolesura kikuu cha seva ambacho inawezesha baadhi ya tovuti zenye watu wengi zaidi siku hizi, kama vile Facebook, WordPress, Sourceforge au nyinginezo.

Kinachoifanya iwe ya haraka na ya kutegemewa ni ukweli kwamba inatumia muundo wa moduli sawa na Apache, lakini ina mbinu tofauti kuhusu soketi za wavuti, kwa kutumia usanifu unaoendeshwa na matukio - asynchronous ambayo haitoi michakato kama haraka inapopokea maombi na pia hutumia faili rahisi za usanidi.

Kwa mifumo ya Ubuntu na Debian msingi, Nginx tayari imeundwa kama kifurushi katika hazina zao na inaweza kusakinishwa kupitia matumizi ya kifurushi cha apt.

Pia hutumia Wapangishi Virtual kama Apache na hutumia chaneli ya Fastcgi kuwasiliana na faili za PHP kwenye seva kupitia PHP-FPM.

Mafunzo haya yanahusu usakinishaji na usanidi msingi wa faili kwa Nginx ili kupangisha tovuti ya WordPress CMS kwenye Mpangishi pepe na mipangilio inatumika kwa Ubuntu 18.04/20.04, Debian 10/9 na Linux Mint 20/19/18.

Ufungaji wa Seva ya Wavuti ya Nginx

1. Usakinishaji wa Nginx kwa Ubuntu, Debian au Linux Mint uko sawa kama vifurushi vingine vyovyote na unaweza kusakinishwa kwa amri rahisi tu.

$ sudo apt-get install nginx

2. Kisha, anza, wezesha, na uthibitishe hali ya Nginx tumia amri zifuatazo za systemctl.

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

Ufungaji wa PHP na Seva ya MariaDB

3. Ili Nginx iweze kuendesha WordPress, unahitaji kusakinisha PHP, PHP-FPM, na vifurushi vya MariaDB.

$ 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. Kisha, thibitisha kwamba huduma ya hifadhidata ya MariaDB inaendeshwa na kuwezeshwa kuanza kiotomatiki mfumo wako unapowashwa.

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

5. Ili kuwasiliana na FastCGI backend, huduma ya PHP-FPM lazima iwe amilifu kwenye seva.

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

6. Sasa unahitaji kufanya usakinishaji wako wa MariaDB kuwa salama kwa kuendesha hati ya mysql_secure_installation ambayo husafirishwa pamoja na kifurushi cha MariaDB.

$ sudo mysql_secure_installation

Baada ya kuendesha hati, itakuchukua kupitia mfululizo wa maswali ambapo unaweza kujibu ndiyo(y) ili kuboresha usalama wa usakinishaji wako wa MariaDB kwa njia zifuatazo:

  • Ingiza nenosiri la sasa la mzizi (weka bila yoyote): Ingiza
  • Je, ungependa kuweka nenosiri la msingi? [Y/n] y
  • Ungependa kuondoa watumiaji wasiojulikana? [Y/n] y
  • Ungependa kutoruhusu kuingia kwa mizizi ukiwa mbali? [Y/n] y
  • Ungependa kuondoa hifadhidata ya majaribio na uifikie? [Y/n] y
  • Pakia upya majedwali ya upendeleo sasa? [Y/n] y

Ufungaji wa WordPress

7. WordPress inahitaji hifadhidata ili kuhifadhi data kwenye seva, kwa hivyo unda hifadhidata mpya ya WordPress kwa tovuti yako kwa kutumia mysql amri kama inavyoonyeshwa.

# 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. Sasa ni wakati wa kuunda WordPress Virtual Host njia ya mizizi, kupakua kumbukumbu ya WordPress, kuitoa kisha kutoa nakala ya kujirudi kwa /var/www/html/wordpress.

$ 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. Kwa usakinishaji laini wa WordPress bila wp-config.php hitilafu zozote za kuunda faili, wape watumiaji wa mfumo wa Nginx www-data ruhusa ya kuandika juu ya. /var/www/html/mysite.com njia na urejeshe mabadiliko baada ya kusakinisha WordPress.

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

Kuunda NGINX Virtual Host kwa Tovuti ya WordPress

10. Sasa ni wakati wa kuunda Virtual Host ya msingi ya tovuti ya WordPress kwenye seva ya Nginx. Tekeleza amri ifuatayo ili kuunda faili ya usanidi wa seva ya WordPress.

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

Kisha ongeza maudhui yafuatayo.

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. Kwa chaguo-msingi, Nginx huelekeza maombi yote kwenye kizuizi cha seva cha chaguo-msingi. Kwa hivyo, ondoa kizuizi cha chaguo-msingi ili kuwezesha tovuti yako ya WordPress au tovuti zingine unazotaka kupangisha kwenye seva hiyo hiyo baadaye.

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

12. Kisha, angalia syntax ya usanidi wa NGINX kwa makosa yoyote kabla ya kuanzisha upya huduma ya Nginx ili kutumia mabadiliko mapya.

$ sudo nginx -t
$ sudo systemctl restart nginx

Kukamilisha Usakinishaji wa WordPress kupitia Kisakinishi cha Wavuti

13. Sasa fungua kivinjari chako cha wavuti na ukamilishe usakinishaji wa WordPress kwa kutumia kisakinishi cha wavuti.

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

14. Kisha ongeza maelezo ya tovuti kama vile kichwa, jina la mtumiaji la msimamizi, nenosiri na anwani ya barua pepe. Kisha ubofye Sakinisha WordPress ili kuendelea na usakinishaji.

15. Baada ya usakinishaji wa WordPress kukamilika, endelea kufikia dashibodi ya msimamizi wa tovuti kwa kubofya kitufe cha kuingia kama ilivyoangaziwa kwenye skrini ifuatayo.

16. Katika ukurasa wa kuingia wa msimamizi wa tovuti, toa jina lako la mtumiaji na nenosiri lililoundwa hapo juu na ubofye kuingia, ili kufikia dashibodi ya msimamizi wa tovuti yako.

17. Baada ya usakinishaji kukamilisha kutendua ruhusa kwa kutoa amri ifuatayo.

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

Washa HTTPS kwenye WordPress

18. Ikiwa ungependa kuwezesha HTTPS kwenye tovuti yako ya WordPress, unahitaji kusakinisha cheti cha bure cha SSL kutoka kwa Let's Encrypt kama inavyoonyeshwa.

$ 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

Ili kuthibitisha kuwa tovuti yako ya WordPress imewekwa vyema kwa kutumia cheti cha SSL Bila Malipo, tembelea tovuti yako kwenye https://yourwebsite.com/ na utafute ikoni ya kufunga kwenye upau wa URL. Vinginevyo, unaweza kuangalia HTTPS ya tovuti yako kwenye https://www.ssllabs.com/ssltest/.

Hongera! Umefaulu kusakinisha toleo jipya zaidi la WordPress na NGINX kwenye seva yako, sasa anza kuunda tovuti au blogu yako mpya.