Construir wordpress usando arquitectura lnmp
1. Arquitectura lnmp
1. Entre los cuatro componentes de la plataforma LNMP, cada componente es responsable de algunas aplicaciones clave. Después de más de diez años de desarrollo, la compatibilidad, las capacidades de colaboración y la estabilidad de cada componente se han mejorado continuamente. se mejora constantemente y se puede construir un excelente sistema de aplicaciones web. Las funciones principales de cada componente son las siguientes:
(1) Sistema Linux: como base de la arquitectura lnmp, proporciona un sistema operativo para admitir sitios web y puede interactuar con otros La estabilidad y compatibilidad de los tres componentes (los otros tres componentes también son compatibles con Windows, UNIX y otros sistemas operativos).
(2) Servidor de sitio web nginx: como front-end de la arquitectura LNMP, nginx es una función poderosa
(3) Servidor de base de datos MySQL: como back-end de la arquitectura LAMP, es un popular sistema de base de datos relacional de código abierto. En sitios web corporativos, negocios En aplicaciones como sistemas, se puede almacenar diversa información de cuentas, información de productos, información de clientes, datos comerciales, etc. en la base de datos mysql, y otros programas de código abierto pueden consultar y cambiar esta información a través de declaraciones SQL.
(4) Lenguaje de programación web php/perl/python: como tres lenguajes de programación para desarrollar páginas web dinámicas, es responsable de interpretar archivos de páginas web dinámicas y proporcionar un entorno de desarrollo y ejecución para aplicaciones web. Entre ellos, PHP es un lenguaje de programación multipropósito de código abierto ampliamente utilizado, que puede integrarse en HTML y es especialmente adecuado para el desarrollo de aplicaciones web.
2. Ventajas de la aplicación de la plataforma LNMP
1. Cada uno de los cuatro componentes que constituyen la plataforma LNMP ha experimentado décadas de pruebas de aplicaciones empresariales. Cada componente es líder en software similar, convirtiéndose así en un típico socio "oro", sus principales ventajas. se encuentran en los siguientes aspectos:
(1) Bajo costo: Cada componente es de código abierto.
(2) Personalizable: Tiene una gran cantidad de componentes y módulos adicionales con funciones escalables.
(3) Fácil de desarrollar: el código de la página es conciso
(4) Fácil de usar: PHP, Perl, etc. son lenguajes interpretados y no es necesario compilar los diversos programas web desarrollados.
(5) Seguridad y estabilidad: Benefíciese de las ventajas del código abierto.
2. Al construir la plataforma LNMP, el orden de instalación de cada componente es Llinx, nginx, mysql y php. No existe un orden estricto para la instalación de nginx y mysql; mientras que la instalación del entorno PHP generalmente se coloca en último lugar, responsable de comunicarse con el servidor web y el sistema de base de datos para trabajar juntos.
3. Despliegue de la plataforma LNMP
1. Prepare un entorno Linux
(1), Linux: centos7.4
(2), ip: 172.16.1.105
(3), cerrar selinux
2. Instale nginx:1.20 en Linux
(1), Nginx: dirección de descarga 1.20: wget http://nginx.org/download/nginx-1.20.2.tar.gz
(2), instale nginx
vim /etc/yum.repos.d/local.repo #Escriba yum warehouse
[cdrom]
name=benet
baseurl=file:///media/cdrom
enable=1
gpgcheck=0
medios/cdrom/ #Montar CD
yum -y install gcc gcc-c++ autoconf automake make pcre pcre-devel zlib zlib-devel pcre pcre-devel zlib zlib-devel openssl openssl-devel #Instalar paquetes de entorno relacionados con nginx
Explicación: yum -y install gcc gcc-c++ autoconf automake make # compilador c
yum install -y pcre pcre-devel # Analizar la biblioteca pcre normal
yum install -y zlib zlib-devel # Agregar soporte para gzip
yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel # SSL
(3) Descomprima nginx y compile e instale
tar xf nginx-1.20.2.tar.gz
cd nginx-1.20.2
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module #Compile e instale la función de módulo correspondiente de nginx
make && make install
(4) Cree una conexión suave a nginx e inicie nginx
(5) Agregue reglas de firewall para ejecutar el puerto 80
Visita: http://172.16.1.105
3. Instale mysql (base de datos) en Linux
(1) Descargue mysql
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm #Descargue la fuente yum de mysql5.7
yum -y install mysql-community- servidor –nogpgcheck #yum instalar el servicio mysql
(2) Inicie mysql y configúrelo para que se inicie automáticamente
systemctl start mysqld #Inicie mysqld
systemctl enable mysqld #sEstablezca para activar el inicio automático
systemctl daemon-reload #Recargar el archivo de configuración de un determinado servicio
4. Instale PHP7.3.28
(1) Instale los paquetes de dependencia necesarios para admitir el entorno PHP
yum install -y libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt -devel readline readline-devel libxslt libxslt-devel sqlite-devel oniguruma-devel
(2) Descargue PHP7.3.28, descomprima, compile e instale
wget https://www.php.net/distributions/php-7.3.28.tar.gz #Descargue el paquete de código fuente de PHP
mkdir -p /usr/local/ php7.3 #Crear directorio
tar xf php-7.3.28.tar.gz #Extraer
cd php-7.3.28/ #Cambiar al directorio php
./configure -prefix=/usr/local/php7.3 -with-zlib-dir -enable-mbstring -enable-soap -enable-calendar -with-curl -disable-rpath -enable-inline-optimization -with-bz2 -con-zlib -enable-sockets -enable-sysvsem -enable-sysvshm -enable-pcntl -enable-mbregex -enable-exif -enable-bcmath -con-mhash -con-pdo-mysql -con-mysqli -con-openssl -with-fpm-user=nadie -with-fpm-group=nadie -enable-ftp -with-gettext -with-xmlrpc -with-xsl -enable-opcache -enable-fpm -with-iconv #配置
变量
haga que todo se instale #Compile e instale (lleva mucho tiempo esperar pacientemente)
hacer prueba # Verifique los resultados de la compilación (lleva mucho tiempo esperar pacientemente)
cp /usr/local/php7.3/etc/php-fpm.conf.default /usr/local/php7.3/etc/php-fpm .conf
cp /usr/local/php7.3/etc/php-fpm.d/www.conf.default /usr/local/php7.3/etc/php-fpm.d/www.conf
#Copiar archivo de configuración
#Crear usuario nginx
useradd nginx -s /usr/sbin/nologin
#Iniciar php-fpm
/usr/local/php7.3/sbin/php-fpm
Ver servicio php-fpm
5. Configurar nginx
Líneas 35 a 77 configuran
server {
listen 80;
server_name localhost;
#access_log /usr/local/nginx/logs/wordpress/access2.log main;
#error_log /usr/local/nginx/logs/wordpress/error2.log;
root /wordpress/wordpress/blog/;
error_page 500 502 503 504 /50x.html;
location test/ {
rewrite ^test(.*)$ wp-admin$1 last;
}
#access_log logs/host.access.log main;
location / {
root /wordpress/wordpress/blog/;
index index.php index.htm index.html;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /wordpress/wordpress/blog/;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass 127.0.0.1:9001; # 配置一个php不需要这一行
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Verifique el archivo de configuración en busca de errores nginx -t
Nginx -t
Recargar la configuración de nginx
nginx -s recargar
6. Configurar mysql (base de datos)
(1) Obtenga la contraseña inicial de root
grep 'contraseña temporal' /var/log/mysqld.log
(2) Inicializar la base de datos
mysql_secure_installation
(3) Inicie sesión en mysql, cree una base de datos y una cuenta y otorgue permisos (¡mi contraseña es Abc!123)
mysql -uroot -p #Inicie sesión en la base de datos
crear base de datos wordpress; #Crear base de datos wordpress
crear usuario admin@“%” identificado por “Abc!123”; #Crear usuario admin, contraseña: Abc!123, otorgar todos los privilegios
en wordpress.* a admin@“%” identificado por “Abc!123”; #Autorizar
privilegios de vaciado de administrador; #Actualizar permisos,
salir #Salir
7. Descarga WordPress y descomprímelo.
(1) Descargue wordpress a /wordpress/
wget -P /wordpress https://cn.wordpress.org/wordpress-6.0-zh_CN.zip
(2) Descomprima y mueva el contenido a wordpress/blog/
cd /wordpress
unzip wordpress-6.0-zh_CN.zip
mkdir -p ./wordpress/blog
mv ./wordpress/* ./wordpress/blog/
(3) Visite la página http://172.16.1.105/wordpress