Com instal·lar Nginx, MySQL i PHP (FEMP) Stack a FreeBSD 12.0

Una pila FEMP, que és comparable a una pila LEMP a Linux, és una col·lecció de programari de codi obert que normalment s'instal·la conjuntament per permetre que un servidor FreeBSD allotgi llocs web i aplicacions web dinàmiques. FEMP és un acrònim que significa FreeBSD, Nginx, MySQL i PHP.

En aquesta guia, desplegarem elements d'una pila FEMP en una instància de FreeBSD 12.0 Vultr mitjançant pkg, el gestor de paquets FreeBSD.

Requisits

Abans de començar aquesta guia, necessitareu el següent:

  • Un FreeBSD 12.0 VPS.
  • Un usuari amb privilegis root o sudousuari per fer canvis de configuració.
  • Es recomana una familiaritat bàsica amb el sistema FreeBSD i la interfície de línia d'ordres.

Abans que comencis

Comproveu la versió de FreeBSD.

uname -ro # FreeBSD 12.0-RELEASE-p6

Assegureu-vos que el vostre sistema FreeBSD estigui actualitzat.

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

Instal·leu els paquets necessaris.

pkg install -y sudo vim bash curl

Creeu un compte d'usuari nou amb el vostre nom d'usuari preferit. Fem servir 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!

Executeu l' visudoordre i descomenteu la %wheel ALL=(ALL) ALLlínia, per permetre que els membres del wheelgrup executin qualsevol ordre.

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

Ara, canvieu al vostre nou usuari creat amb su:

su - johndoe

NOTA: Substituïu-lo johndoepel vostre nom d'usuari.

Configura la zona horària:

sudo tzsetup

Instal·lació de la línia principal Nginx

Podeu instal·lar Nginx mitjançant el gestor de paquets de FreeBSD, pkg. Un gestor de paquets us permet instal·lar la majoria del programari sense esforç des d'un repositori mantingut per FreeBSD. Podeu obtenir més informació sobre com utilitzar-lo pkgaquí .

Per instal·lar la darrera línia principal Nginx, emeteu l'ordre següent:

sudo pkg install -y nginx-devel

Comproveu la versió:

nginx -v # nginx version: nginx/1.17.1

Aquesta ordre instal·larà la darrera versió principal, que es pot utilitzar de manera fiable en un servidor de producció. Si voleu instal·lar la darrera versió estable, només cal que utilitzeu nginxpaquet en comptes de nginx-devel.

Ara, activeu i inicieu Nginx:

sudo sysrc nginx_enable=yes sudo service nginx start

Per comprovar que Nginx s'ha iniciat, podeu executar l'ordre següent:

sudo service nginx status

Com a resultat, veureu alguna cosa semblant al següent:

# Output nginx is running as pid 17607.

Podeu verificar que Nginx s'ha instal·lat i funciona sense errors visitant l'adreça IP pública del vostre servidor al vostre navegador web. Navega a your_server_IP. Veureu l'opció predeterminada "Benvingut a nginx!" pàgina.

Instal·lant MySQL

De nou, podeu utilitzar-lo pkgper obtenir i instal·lar el vostre programari.

Instal·leu MySQL mitjançant pkg:

sudo pkg install -y mysql80-client mysql80-server

Comproveu la versió:

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

Ara, activeu i inicieu MySQL:

sudo sysrc mysql_enable=yes sudo service mysql-server start

Per comprovar que MySQL s'ha iniciat, podeu executar l'ordre següent:

sudo service mysql-server status

Veureu alguna cosa semblant al següent:

# Output mysql is running as pid 19066.

Com a bona pràctica, hauríeu d'executar l' mysql_secure_installationscript de seguretat que eliminarà alguns valors predeterminats insegurs i limitarà lleugerament l'accés al vostre sistema de base de dades.

sudo mysql_secure_installation

Se us demanarà que establiu una contrasenya, seguida d'altres preguntes. Introduïu una contrasenya segura i, a continuació, per a la resta de preguntes, premeu ENTERper seleccionar els valors predeterminats.

Instal·lació de PHP 7.3

Per instal·lar PHP 7.3amb pkg, executeu aquesta comanda:

sudo pkg install -y php73

Comproveu la versió.

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

Enllaç suau php.ini-productiona php.ini.

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

Ara, activeu i inicieu PHP-FPM:

sudo sysrc php_fpm_enable=yes sudo service php-fpm start

Per comprovar que PHP-FPM s'ha iniciat, podeu executar l'ordre següent:

sudo service php-fpm status

Com a resultat, veureu alguna cosa semblant:

# Output php_fpm is running as pid 23005.

Instal·lació de mòduls PHP (opcional)

Per millorar la funcionalitat de PHP, podeu instal·lar opcionalment alguns mòduls addicionals.

Per veure'ls compilats actualment en mòduls PHP, podeu executar això:

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

Per cercar mòduls PHP disponibles, podeu utilitzar aquesta ordre:

pkg search ^php73-*

Els resultats seran principalment mòduls PHP 7.3 que podeu instal·lar:

# 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 # . . .

Si, després d'investigar, decidiu que necessiteu instal·lar un paquet, podeu fer-ho mitjançant l' pkg installordre. La majoria de les aplicacions web PHP requeriran mòduls addicionals, així que és bo saber com cercar-los.

Configuració de Nginx per utilitzar el mòdul PHP

Abans d'utilitzar PHP, heu de configurar-lo perquè funcioni amb Nginx.

Executeu sudo vim /usr/local/etc/nginx/test.confi ompliu el fitxer amb el contingut següent:

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; } }

Deseu el fitxer i sortiu amb :+ W+Q

Ara hem d'incloure test.confal nginx.conffitxer principal . El fitxer de configuració principal de Nginx viu /usr/local/etc/nginxcom a nginx.conf.

Executeu sudo vim /usr/local/etc/nginx/nginx.confper obrir el fitxer de configuració principal a Vim i afegiu la línia següent al http {}bloc.

include test.conf;

Prova la configuració de Nginx:

sudo nginx -t

Com que heu fet canvis de configuració a Nginx, heu de tornar a carregar el servei perquè s'apliquin. En cas contrari, Nginx encara funcionarà amb la configuració anterior.

sudo service nginx reload

Prova de processament PHP

Per comprovar que el vostre sistema està configurat correctament per a PHP, podeu crear un script PHP molt bàsic. Anomenaràs aquest guió info.php. De manera predeterminada, roots'estableix en /usr/local/www/nginx-dist. Podeu crear el info.phpfitxer a aquesta ubicació:

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

Afegiu aquest codi a aquest fitxer:

<?php phpinfo(); ?>

Navegueu fins http://your_server_IP/ìnfo.phpi veureu la pàgina següent:

Com instal·lar Nginx, MySQL i PHP (FEMP) Stack a FreeBSD 12.0

Després de la instal·lació i la configuració, hauríeu d'eliminar el info.phpfitxer per evitar revelar informació sobre el servidor al públic.

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

Conclusió

Enhorabona, heu instal·lat correctament una pila FEMP al vostre VPS FreeBSD 12.0. Ara teniu diverses opcions per saber què fer a continuació. Heu instal·lat una plataforma que us permetrà instal·lar la majoria de tipus de llocs web i programari web a sobre.

Deixa un comentari

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.

Atacs DDOS: una breu visió general

Atacs DDOS: una breu visió general

També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.

Us heu preguntat mai com guanyen diners els pirates informàtics?

Us heu preguntat mai com guanyen diners els pirates informàtics?

Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.

Invents revolucionaris de Google que us facilitaran la vida.

Invents revolucionaris de Google que us facilitaran la vida.

Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.

Divendres essencial: què va passar amb els cotxes impulsats per IA?

Divendres essencial: què va passar amb els cotxes impulsats per IA?

El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...

Singularitat tecnològica: un futur llunyà de la civilització humana?

Singularitat tecnològica: un futur llunyà de la civilització humana?

A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.

Funcionalitats de les capes darquitectura de referència de Big Data

Funcionalitats de les capes darquitectura de referència de Big Data

Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.

Evolució de lemmagatzematge de dades – Infografia

Evolució de lemmagatzematge de dades – Infografia

Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació