Kaip įdiegti Nginx, MySQL ir PHP (FEMP) Stack FreeBSD 12.0

FEMP stekas, panašus į LEMP steką Linux sistemoje, yra atvirojo kodo programinės įrangos rinkinys, kuris paprastai įdiegiamas kartu, kad FreeBSD serveris galėtų priglobti dinamines svetaines ir žiniatinklio programas. FEMP yra akronimas, reiškiantis FreeBSD, Nginx, MySQL ir PHP.

Šiame vadove mes įdiegsime FEMP dėklo elementus „FreeBSD 12.0 Vultr“ egzemplioriuje naudodami pkg„FreeBSD“ paketų tvarkyklę.

Reikalavimai

Prieš pradėdami šį vadovą, jums reikės šių dalykų:

  • FreeBSD 12.0 VPS.
  • Naudotojas, turintis root teises arba sudovartotojas, galintis atlikti konfigūracijos pakeitimus.
  • Rekomenduojama išmanyti FreeBSD sistemą ir komandinės eilutės sąsają.

Prieš tau pradedant

Patikrinkite FreeBSD versiją.

uname -ro # FreeBSD 12.0-RELEASE-p6

Įsitikinkite, kad jūsų FreeBSD sistema yra atnaujinta.

freebsd-update fetch install pkg update && pkg upgrade -y

Įdiekite reikiamus paketus.

pkg install -y sudo vim bash curl

Sukurkite naują vartotojo paskyrą su pageidaujamu vartotojo vardu. Mes naudojame johndoe.

adduser # Username: johndoe # Full name: John Doe # Uid (Leave empty for default): <Enter> # Login group [johndoe]: <Enter> # Login group is johndoe. Invite johndoe into other groups? []: wheel # Login class [default]: <Enter> # Shell (sh csh tcsh nologin) [sh]: bash # Home directory [/home/johndoe]: <Enter> # Home directory permissions (Leave empty for default): <Enter> # Use password-based authentication? [yes]: <Enter> # Use an empty password? (yes/no) [no]: <Enter> # Use a random password? (yes/no) [no]: <Enter> # Enter password: your_secure_password # Enter password again: your_secure_password # Lock out the account after creation? [no]: <Enter> # OK? (yes/no): yes # Add another user? (yes/no): no # Goodbye!

Vykdykite visudokomandą ir panaikinkite %wheel ALL=(ALL) ALLeilutės komentarą, kad wheelgrupės nariai galėtų vykdyti bet kurią komandą.

visudo # Uncomment by removing hash (#) sign # %wheel ALL=(ALL) ALL

Dabar pereikite prie naujai sukurto vartotojo naudodami su:

su - johndoe

PASTABA: pakeiskite johndoesavo vartotojo vardu.

Nustatykite laiko juostą:

sudo tzsetup

Pagrindinio tinklo Nginx diegimas

„Nginx“ galite įdiegti naudodami „FreeBSD“ paketų tvarkyklę pkg. Paketų tvarkyklė leidžia be vargo įdiegti daugumą programinės įrangos iš saugyklos, kurią prižiūri FreeBSD. Daugiau apie tai, kaip naudoti,pkg galite sužinoti čia .

Norėdami įdiegti naujausią pagrindinį Nginx, išduokite šią komandą:

sudo pkg install -y nginx-devel

Patikrinkite versiją:

nginx -v # nginx version: nginx/1.17.1

Ši komanda įdiegs naujausią pagrindinės linijos versiją, kurią galima patikimai naudoti gamybos serveryje. Jei norite įdiegti naujausią stabilų leidimą, tiesiog naudokite nginxpaketą, o ne nginx-devel.

Dabar įgalinkite ir paleiskite „Nginx“:

sudo sysrc nginx_enable=yes sudo service nginx start

Norėdami patikrinti, ar Nginx įsijungė, galite paleisti šią komandą:

sudo service nginx status

Dėl to pamatysite kažką panašaus į toliau pateiktą:

# Output nginx is running as pid 17607.

Galite patikrinti, ar „Nginx“ buvo įdiegtas ir veikia be klaidų, apsilankę savo serverio viešajame IP adresu savo žiniatinklio naršyklėje. Eikite į your_server_IP. Pamatysite numatytąjį "Sveiki atvykę į nginx!" puslapį.

MySQL diegimas

Vėlgi, galite naudoti pkgnorėdami gauti ir įdiegti programinę įrangą.

Įdiekite „MySQL“ naudodami pkg:

sudo pkg install -y mysql80-client mysql80-server

Patikrinkite versiją:

mysql --version # mysql Ver 8.0.16 for FreeBSD12.0 on amd64 (Source distribution)

Dabar įjunkite ir paleiskite MySQL:

sudo sysrc mysql_enable=yes sudo service mysql-server start

Norėdami patikrinti, ar MySQL paleidžiamas, galite paleisti šią komandą:

sudo service mysql-server status

Pamatysite kažką panašaus į toliau pateiktą:

# Output mysql is running as pid 19066.

Kaip gera praktika, turėtumėte paleisti mysql_secure_installationsaugos scenarijų, kuris pašalins kai kuriuos nesaugius numatytuosius nustatymus ir šiek tiek apribos prieigą prie duomenų bazės sistemos.

sudo mysql_secure_installation

Jūsų bus paprašyta nustatyti slaptažodį, o po to bus pateikti kiti klausimai. Įveskite tvirtą slaptažodį, o likusiems klausimams paspauskite , ENTERkad pasirinktumėte numatytuosius nustatymus.

Įdiegti PHP 7.3

Norėdami įdiegti PHP 7.3su pkg, paleiskite šią komandą:

sudo pkg install -y php73

Patikrinkite versiją.

php --version # PHP 7.3.7 (cli) (built: Jul 18 2019 01:14:37) ( NTS ) # Copyright (c) 1997-2018 The PHP Group # Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies

Minkšta nuoroda php.ini-productionį php.ini.

sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Dabar įjunkite ir paleiskite PHP-FPM:

sudo sysrc php_fpm_enable=yes sudo service php-fpm start

Norėdami patikrinti, ar PHP-FPM įsijungė, galite paleisti šią komandą:

sudo service php-fpm status

Dėl to pamatysite kažką panašaus:

# Output php_fpm is running as pid 23005.

PHP modulių diegimas (nebūtina)

Norėdami pagerinti PHP funkcionalumą, pasirinktinai galite įdiegti keletą papildomų modulių.

Norėdami pamatyti šiuo metu sukompiliuotus PHP modulius, galite paleisti:

php -m # [PHP Modules] # Core # date # libxml # mysqlnd # pcre # Reflection # SPL # standard # [Zend Modules]

Norėdami ieškoti galimų PHP modulių, galite naudoti šią komandą:

pkg search ^php73-*

Rezultatai bus daugiausia PHP 7.3 moduliai, kuriuos galėsite įdiegti:

# Output # php73-7.3.7 PHP Scripting Language # php73-Ice37-3.7.2 Modern alternative to object middleware such as CORBA/COM/DCOM/COM+ # php73-aphpbreakdown-2.2.2 Code-Analyzer for PHP for Compatibility Check-UP # php73-aphpunit-1.8 Testing framework for unit tests # php73-bcmath-7.3.7 The bcmath shared extension for php # php73-brotli-0.7.0 Brotli extension for PHP # php73-bsdconv-11.5.0 PHP wrapper for bsdconv # php73-bz2-7.3.7 The bz2 shared extension for php # php73-calendar-7.3.7 The calendar shared extension for php # php73-composer-1.8.6 Dependency Manager for PHP # php73-ctype-7.3.7 The ctype shared extension for php # php73-curl-7.3.7 The curl shared extension for php # . . .

Jei atlikę tyrimą nuspręsite, kad reikia įdiegti paketą, tai galite padaryti naudodami pkg installkomandą. Daugumai PHP žiniatinklio programų reikės papildomų modulių, todėl pravartu žinoti, kaip jų ieškoti.

Nginx konfigūravimas naudoti PHP modulį

Prieš naudodami PHP, turite sukonfigūruoti jį taip, kad jis veiktų su Nginx.

Paleiskite sudo vim /usr/local/etc/nginx/test.confir užpildykite failą tokiu turiniu:

server { listen 80; server_name SERVER_IP; # Replace with your IP or hostname root /usr/local/www/nginx-dist; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }

Išsaugokite failą ir išeikite su :+ W+Q

Dabar turime įtraukti test.confį pagrindinį nginx.conffailą. Pagrindinis konfigūracijos failą Nginx gyvena pagal /usr/local/etc/nginxtaip nginx.conf.

Vykdykite, sudo vim /usr/local/etc/nginx/nginx.confkad atidarytumėte pagrindinį „Vim“ konfigūracijos failą ir įtraukite šią eilutę prie http {}bloko.

include test.conf;

Išbandykite „Nginx“ konfigūraciją:

sudo nginx -t

Kadangi atlikote „Nginx“ konfigūracijos pakeitimus, turite iš naujo įkelti paslaugą, kad jie būtų pritaikyti. Priešingu atveju „Nginx“ vis tiek veiks su ankstesne konfigūracija.

sudo service nginx reload

PHP apdorojimo testavimas

Norėdami patikrinti, ar jūsų sistema tinkamai sukonfigūruota PHP, galite sukurti labai paprastą PHP scenarijų. Jūs vadinsite šį scenarijų info.php. Pagal numatytuosius nustatymus rootnustatytas į /usr/local/www/nginx-dist. info.phpFailą galite sukurti toje vietoje:

sudo vim /usr/local/www/nginx-dist/info.php

Pridėkite šį kodą prie to failo:

<?php phpinfo(); ?>

Eikite į http://your_server_IP/ìnfo.phpir pamatysite šį puslapį:

Kaip įdiegti Nginx, MySQL ir PHP (FEMP) Stack FreeBSD 12.0

Įdiegę ir nustatę turite pašalinti info.phpfailą, kad informacija apie serverį nebūtų atskleista viešai.

sudo rm /usr/local/www/nginx-dist/info.php

Išvada

Sveikiname, jūs sėkmingai įdiegėte FEMP steką savo FreeBSD 12.0 VPS. Dabar turite keletą pasirinkimų, ką daryti toliau. Įdiegėte platformą, kurią naudodami galėsite įdiegti daugumą svetainių ir žiniatinklio programinės įrangos.


Kaip įdiegti Tiny Tiny RSS skaitytuvą „FreeBSD 11 FAMP VPS“.

Kaip įdiegti Tiny Tiny RSS skaitytuvą „FreeBSD 11 FAMP VPS“.

Naudojate kitą sistemą? Tiny Tiny RSS Reader yra nemokama ir atviro kodo savarankiškai priglobta žiniatinklio naujienų kanalo (RSS/Atom) skaitytuvas ir kaupiklis, skirtas

Kaip įdiegti Wiki.js FreeBSD 11

Kaip įdiegti Wiki.js FreeBSD 11

Naudojate kitą sistemą? Wiki.js yra nemokama atvirojo kodo moderni wiki programa, sukurta naudojant Node.js, MongoDB, Git ir Markdown. Wiki.js šaltinio kodas yra viešas

Kaip įdiegti Pagekit 1.0 TVS FreeBSD 11 FAMP VPS

Kaip įdiegti Pagekit 1.0 TVS FreeBSD 11 FAMP VPS

Naudojate kitą sistemą? Pagekit 1.0 TVS yra graži, modulinė, išplečiama ir lengva, nemokama ir atviro kodo turinio valdymo sistema (TVS) su

Kaip įdiegti MODX Revolution FreeBSD 11 FAMP VPS

Kaip įdiegti MODX Revolution FreeBSD 11 FAMP VPS

Naudojate kitą sistemą? MODX Revolution yra greita, lanksti, keičiamo dydžio atvirojo kodo, įmonės lygio turinio valdymo sistema (TVS), parašyta PHP. Tai i

Nustatyti OpenBSD 5.5 64 bitų

Nustatyti OpenBSD 5.5 64 bitų

Šiame straipsnyje paaiškinama, kaip nustatyti OpenBSD 5.5 (64 bitų) KVM naudojant Vultr VPS. 1 veiksmas. Prisijunkite prie Vultr valdymo pulto. 2 veiksmas. Spustelėkite DEPLOY

Kaip įdiegti „osTicket“ „FreeBSD 12“.

Kaip įdiegti „osTicket“ „FreeBSD 12“.

Naudojate kitą sistemą? osTicket yra atvirojo kodo klientų aptarnavimo bilietų pardavimo sistema. „osTicket“ šaltinio kodas viešai priglobtas „Github“. Šioje pamokoje

How to Install Flarum Forum on FreeBSD 12

How to Install Flarum Forum on FreeBSD 12

Using a Different System? Flarum is a free and open-source next-generation forum software that makes online discussion fun. Flarum source code is hosted o

Kaip įjungti TLS 1.3 „Nginx“, naudojant „FreeBSD 12“.

Kaip įjungti TLS 1.3 „Nginx“, naudojant „FreeBSD 12“.

Naudojate kitą sistemą? TLS 1.3 yra Transport Layer Security (TLS) protokolo versija, kuri buvo paskelbta 2018 m. kaip siūlomas standartas RFC 8446.

Įdiekite „WordPress“ „OpenBSD 6.2“.

Įdiekite „WordPress“ „OpenBSD 6.2“.

Įvadas WordPress yra dominuojanti turinio valdymo sistema internete. Tai suteikia viską nuo tinklaraščių iki sudėtingų svetainių su dinamišku turiniu

Kaip įdiegti Subrion 4.1 TVS FreeBSD 11 FAMP VPS

Kaip įdiegti Subrion 4.1 TVS FreeBSD 11 FAMP VPS

Naudojate kitą sistemą? Subrion 4.1 TVS yra galinga ir lanksti atvirojo kodo turinio valdymo sistema (TVS), kuri suteikia intuityvų ir aiškų turinį

Kaip sukonfigūruoti DJBDNS „FreeBSD“.

Kaip sukonfigūruoti DJBDNS „FreeBSD“.

Ši pamoka parodys, kaip sukonfigūruoti DNS paslaugą, kurią būtų lengva prižiūrėti, lengva konfigūruoti ir kuri paprastai yra saugesnė nei klasikinis BIN.

Kaip įdiegti Nginx, MySQL ir PHP (FEMP) Stack FreeBSD 12.0

Kaip įdiegti Nginx, MySQL ir PHP (FEMP) Stack FreeBSD 12.0

FEMP stekas, panašus į LEMP steką Linux sistemoje, yra atvirojo kodo programinės įrangos rinkinys, kuris paprastai įdiegiamas kartu, kad įgalintų FreeBS.

„MongoDB“ diegimas „FreeBSD 10“.

„MongoDB“ diegimas „FreeBSD 10“.

MongoDB yra pasaulinės klasės NoSQL duomenų bazė, kuri dažnai naudojama naujesnėse žiniatinklio programose. Jis teikia didelio našumo užklausas, dalijimąsi ir replikaciją

Kaip įdiegti Monica FreeBSD 12

Kaip įdiegti Monica FreeBSD 12

Naudojate kitą sistemą? Monica yra atviro kodo asmeninių santykių valdymo sistema. Pagalvokite apie tai kaip apie CRM (populiarų įrankį, kurį naudoja pardavimų komandos th

OpenBSD kaip elektroninės komercijos sprendimas su PrestaShop ir Apache

OpenBSD kaip elektroninės komercijos sprendimas su PrestaShop ir Apache

Įvadas Ši pamoka parodo OpenBSD kaip el. prekybos sprendimą naudojant PrestaShop ir Apache. Apache reikalinga, nes PrestaShop turi sudėtingą UR

„Fork CMS“ diegimas „FreeBSD 12“.

„Fork CMS“ diegimas „FreeBSD 12“.

Naudojate kitą sistemą? Fork yra atvirojo kodo TVS, parašyta PHP. „Forks“ šaltinio kodas yra „GitHub“. Šis vadovas parodys, kaip įdiegti Fork CM

Kaip įdiegti „Directus 6.4 CMS“ „FreeBSD 11 FAMP VPS“.

Kaip įdiegti „Directus 6.4 CMS“ „FreeBSD 11 FAMP VPS“.

Naudojate kitą sistemą? „Directus 6.4 CMS“ yra galinga ir lanksti, nemokama ir atvirojo kodo turinio valdymo sistema (TVS), kuri suteikia kūrėjams

FreeBSD saugumo padidinimas naudojant IPFW ir SSHGuard

FreeBSD saugumo padidinimas naudojant IPFW ir SSHGuard

Į VPS serverius dažnai nusitaiko įsibrovėliai. Įprastas atakų tipas rodomas sistemos žurnaluose kaip šimtai neteisėtų ssh prisijungimo bandymų. Nustatyti

Nustatyti httpd OpenBSD

Nustatyti httpd OpenBSD

Įvadas OpenBSD 5.6 pristatė naują demoną pavadinimu httpd, kuris palaiko CGI (per FastCGI) ir TLS. Norint įdiegti naują http, nereikia jokių papildomų darbų

„FreeBSD 10“ nustatykite „iRedMail“.

„FreeBSD 10“ nustatykite „iRedMail“.

Ši pamoka parodys, kaip įdiegti grupinę programą iRedMail naujai įdiegus FreeBSD 10. Turėtumėte naudoti serverį, turintį bent vieną gigabaitą.

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį