Director articol
Săptămâna trecută, o femeie frumoasă mi-a spus că motorul ei de căutare pe site-ul WordPress era prea lent, iar rezultatele căutării „tutorial” în chineză erau toate greșite. Voia să o ajut să rezolve problema.
Mi s-a părut simplu: trebuie doar să treci la un alt motor de căutare. Meilisearch este cel mai popular motor de căutare open-source în acest moment, segmentarea cuvintelor în chineză este incredibil de puternică, iar performanța sa este excelentă. Trebuie doar să îl instalezi și ești gata, nu?
rezultat...
Am petrecut o zi întreagă jucându-mă cu serverul său de panou HestiaCP . Erori de permisiune, servicii care nu pornesc, gateway 502 Bad - am întâlnit fiecare dintre aceste capcane clasice.
Ca să fiu sincer, la început nu eram sigur dacă va funcționa, dar privind în urmă după tot efortul depus, a implicat doar câteva puncte cheie și, odată ce le-ai înțeles, a fost destul de simplu. Astăzi vă prezint această soluție; dacă folosiți și voi HestiaCP + WordPress, nu ezitați să o urmați.
Căutarea WordPress este prea dificil de utilizat, am decis să trec la ea.
Oricine a folosit WordPress știe cât de dificilă este funcția de căutare încorporată.
Este genul de motor de căutare în care, dacă cauți „ tutoriale AI ”, returnează o grămadă de articole care conțin „AI” sau „tutoriale”, dar care sunt complet irelevante. Căutarea „instalare HestiaCP” aduce o grămadă de rezultate irelevante care conțin cuvântul „instalare”. Experiența utilizatorului este groaznică; fiecare căutare pare o loterie.

Meilisearch este complet diferit. Acceptă segmentarea cuvintelor în limba chineză, înțelege ce cauți și are performanțe incredibil de ridicate, cu timpi de răspuns de ordinul milisecundelor. Important este că este open-source și gratuit; îl instalezi singur, iar datele tale sunt în întregime sub controlul tău.
Problema este că, deși tutorialele oficiale sunt generale, panoul HestiaCP este oarecum unic. Are un control strict al accesului, iar configurația Nginx urmează reguli specifice; urmarea directă a documentației oficiale va duce probabil la probleme.
Am dat-o în bară.
Ghid de depanare pentru instalarea Meilisearch pe HestiaCP
Prima dată când l-am instalat, am folosit scriptul oficial cu un singur clic, doar o comandă curl rapidă și a fost gata. Dar serviciul nu a pornit, dându-mi eroarea „Permisiune refuzată”.
Mi-am dat seama că ceva nu era în regulă; foloseam acces root. Apoi am descoperit că fișierul binar descărcat nu avea permisiuni de execuție. Mediul HestiaCP este ușor diferit de cel al Debianului standard, iar permisiunile de cale sunt, de asemenea, restricționate.
După toată munca depusă, serviciul funcționa, dar când am încercat să folosesc curl pe portul local, am primit o eroare 502 Bad Gateway.
Aceasta este o mare capcană. Configurația Nginx a lui HestiaCP are propria metodă de gestionare; nu poți pur și simplu să modifici manual un fișier de configurare. Trebuie să folosești panoul său de control pentru a-l gestiona sau să accesezi manual fișierele de configurare pe care le generează. Nu am înțeles acest lucru la început și am trecut prin mai multe runde de încercări și erori.
După ce am în sfârșit rezolvat totul, am pus la punct un plan, am început de la zero și l-am terminat în zece minute.
Metoda standard de instalare Meilisearch (doar HestiaCP)
Rețineți că soluția mea este concepută special pentru HestiaCP și diferă de tutorialul oficial, dar este mai stabilă.
Mai întâi, actualizați dependențele sistemului; nu sunt prea multe de spus despre asta.
apt update && apt install curl wget -yApoi, pasul crucial este să ștergeți orice fișiere reziduale care ar fi putut rămâne. Dacă l-ați instalat înainte, fie cu succes, fie nu, este posibil să mai existe fișiere cu permisiuni anormale. Nu ezitați, ștergeți-le direct.
rm -f /usr/local/bin/meilisearchMulți oameni trec cu vederea acest pas, dar permiteți-mi să vă spun că este una dintre cauzele principale ale erorilor 502. În mediile HestiaCP, permisiunile căii /usr/local/bin sunt puțin imprevizibile; ștergerea ei și reluarea de la zero este cea mai curată soluție.
Apoi instalați-l cu un singur clic de pe site-ul oficial.
curl -L https://install.meilisearch.com | shDupă instalare, nu vă grăbiți să o porniți. Mai întâi, mutați fișierul binar într-un loc sigur.
mv meilisearch /usr/bin/
chmod +x /usr/bin/meilisearchAcest pas este crucial. /usr/bin este directorul standard al fișierelor executabile de sistem, cu o gestionare a permisiunilor mai standardizată, evitând acele probleme ciudate de permisiuni.
Apoi creați directorul de date.
mkdir -p /var/lib/meilisearchApoi, configurați serviciul systemd să pornească automat la pornire. Creați un fișier de serviciu.
nano /etc/systemd/system/meilisearch.serviceLipiți următoarea configurație în fișier.
[Unit]
Description=Meilisearch Search Engine
After=network.target
[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/bin/meilisearch \
--env production \
--http-addr 127.0.0.1:7700 \
--db-path /var/lib/meilisearch \
--master-key 1234567890123456
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.targetRețineți câteva aspecte. Adresa http este legată la 127.0.0.1:7700, ceea ce înseamnă că ascultă doar local și este inaccesibilă din rețeaua externă; aceasta este cea mai sigură abordare. Cheia principală trebuie să aibă cel puțin 16 caractere; nu folosiți exemplul meu, creați-vă propriul exemplu complex.
După salvare și ieșire, reîncărcați configurația și porniți serviciul.
systemctl daemon-reload
systemctl enable meilisearch
systemctl restart meilisearchApoi testează-l.
curl http://127.0.0.1:7700/healthDacă este returnat{"status":"available"}Felicitări, ai reușit.
Când am văzut semnalul de întoarcere, am răsuflat ușurat. După o zi întreagă de chinuiri, în sfârșit alergam din nou.
Metodă de configurare WordPress pentru integrarea cu Meilisearch
Acest pas este simplu. Accesați backend-ul WP și instalați un plugin numit Scry Search. Este gratuit, așa că folosiți-l.
După instalare, accesați setările și completați trei lucruri.
Adresa Meilisearch:http://127.0.0.1:7700
Cheie API: Aceasta este cheia principală pe care tocmai ați setat-o.
Nume index: Dați site-ului dvs. web un nume, cum ar fi „blog”.
Apoi faceți clic pe „Începeți indexarea completă”, așteptați finalizarea, iar căutarea în prim-plan va prelua automat controlul. Nu este nevoie de modificări de cod sau configurație a temei; este gata de utilizare imediat ce o scoateți din cutie.
L-am testat; căutarea după „HestiaCP” a returnat o potrivire exactă, iar căutarea după „Meilisearch installation” a dat același rezultat. Segmentarea cuvintelor în limba chineză este incredibil de precisă, cu timpi de răspuns de ordinul milisecundelor.
Mă simt atât de bine.
Mai multe site-uri WordPress care partajează Meilisearch pe același server
Merită menționat faptul că mulți oameni pot avea mai multe site-uri web WordPress pe același server.
Nu este absolut nicio nevoie să reinstalați Meilisearch. Serviciul pe care l-ați deja instalat poate fi utilizat de toate site-urile web de pe același server.
Principiul este simplu: deoarece serviciul este legat la 127.0.0.1, acesta comunică local și este chiar mai rapid.
Tot ce trebuie să faci este să completezi aceeași adresă și să introduci configurația pluginului pentru fiecare site web, dar numele indexului va fi diferit.
De exemplu, primul index al site-ului web se numește „blog”, al doilea se numește „ ozn ”, iar al treilea se numește „magazin”. Fiecare site web are propriul index, care nu interferează între ele, dar au în comun același serviciu de căutare.
Este atât de simplu.
Optimizarea siguranței mediului de producție Meilisearch
Există câteva aspecte de remarcat.
În primul rând, nu folosiți o cheie principală simplă. Ar trebui să aibă cel puțin 16 caractere, un amestec de litere și cifre și nu ar trebui să fie aceeași cu cea a altcuiva.
În al doilea rând, serviciul ascultă doar portul 127.0.0.1, ceea ce îl face inaccesibil din rețeaua externă. Acest lucru este crucial și mulți oameni îl trec cu vederea. S-ar putea să credeți că l-ați ascuns bine, dar expunerea portului este un risc.
În al treilea rând, într-un mediu de producție, se recomandă utilizarea unei chei de căutare doar pentru citire pentru pluginurile WP , păstrând în același timp cheia principală pentru dvs. pentru a evita scurgerile de informații.
Dacă toate aceste aspecte sunt abordate, nu ar trebui să existe probleme majore de securitate.
Soluții pentru erorile frecvente întâlnite la instalarea Meilisearch folosind HestiaCP
Să rezumăm câteva dintre cele mai frecvente întrebări.
Acces refuzat
Problema este că permisiunile fișierului binar sunt incorecte sau calea este greșită. Soluția este așa cum am menționat mai sus: ștergeți-l și reinstalați-l în directorul /usr/bin folosind chmod +x.
502 Bad Gateway
Este posibil ca serviciul Meilisearch să nu ruleze sau să nu asculte pe portul local. Puteți verifica portul local folosind curl pentru a afla. Dacă serviciul funcționează, dar primiți în continuare o eroare 502, ar putea fi o problemă cu configurația HestiaCP Nginx; încercați să reconstruiți configurația site-ului.
WordPress nu se poate conecta la serviciu
Verificați trei lucruri: Se folosește adresa 127.0.0.1? Este cheia corectă? Funcționează serviciul de stare?
Practic, există doar câteva capcane; odată ce le înțelegi, este destul de simplu.
În final, permiteți-mi să mai spun ceva.
Ca să fiu sincer, am simțit întotdeauna că funcția de căutare este subevaluată.
Mulți oameni cheltuiesc mulți bani construind site-uri web și creând conținut, dar experiența de căutare este groaznică. Utilizatorii intră să caute ceva, nu găsesc ceea ce doresc și pleacă imediat. Indiferent cât de bun este conținutul dvs., dacă funcția de căutare este proastă, totul este degeaba.
Implementarea unui instrument precum Meilisearch nu este de fapt dificilă, dar mulți oameni sunt descurajați de problemele legate de permisiuni și configurare. Am petrecut o zi întreagă lucrând la asta pentru a reduce complet această barieră, astfel încât alții să poată începe cu ușurință.
Imaginați-vă: un motor de căutare performant, open-source, gratuit, cu suport excelent pentru limba chineză și sigur. Era ceva la care nici nu am îndrăznit să visăm înainte.
Ecosistemul open-source devine din ce în ce mai puternic. Multe servicii care înainte necesitau mulți bani pentru a fi cumpărate pot fi acum construite singuri. Este o senzație minunată.
Dacă folosești și tu HestiaCP + WordPress și te confrunți cu probleme de căutare, încearcă această soluție. Durează doar zece minute, de fapt.
Din moment ce ați citit până aici, dacă vi s-a părut util, vă rog să dați like și să distribuiți. Dacă doriți să primiți actualizări mai întâi, puteți să mă urmăriți și pe mine!
Mulțumesc că ai citit articolul meu. Pe data viitoare.
Sperăm că tutorialul „Tutorial complet despre instalarea motorului de căutare Meilisearch și integrarea cu WordPress folosind HestiaCP” distribuit pe blogul lui Chen Weiliang ( https://www.chenweiliang.com/ ) vă va fi de ajutor.
Nu ezitați să distribuiți linkul acestui articol: https://www.chenweiliang.com/cwl-34339.html
