Funcionamiento práctico de la construcción de la arquitectura LNMP

Tabla de contenido

1. Instalar el servicio Nginx

1. Instalar paquetes dependientes

2. Crear un usuario en ejecución de Nginx

3. Compile e instale el paquete fuente de Nginx

4. Optimice la ruta para facilitar su uso

5. Agregue el servicio del sistema Nginx

Dos, instalar el servicio Mysql

1. Instale el paquete de dependencia del entorno Mysql

2. Crear un usuario en ejecución de Mysql

3. Compilar e instalar

4. Modificar el archivo de configuración mysql

5. Cambie el propietario y el grupo del directorio de instalación de mysql y los archivos de configuración

6. Establezca la variable de entorno de ruta para un uso fácil

7. Inicializar la base de datos

8. Agregue el servicio del sistema mysqld

9. Modificar la contraseña de inicio de sesión de mysql

10. Autorice al usuario root para iniciar sesión de forma remota

​Editar​Editar

3. Instalar el servicio PHP

1. Instalar paquetes dependientes del entorno

2. Compilar e instalar

3. Optimice la ruta para facilitar su uso

4. Ajuste el archivo de configuración de php

5. Inicie php-fpm

6. Configure Nginx para admitir el análisis de PHP

7. Agregue el archivo inex.php para probar si el servicio php es efectivo

8. Verifique que la base de datos funcione correctamente

4. Usa la arquitectura LNMP para construir un foro bbs


La arquitectura LNMP se refiere a Linux+Nginx+Mysql+PHP (Perl, Python)

Primero prepare el host de Linux, apague el firewall y selinux

Es necesario obtener los paquetes de código fuente relevantes

Para conocer el significado de los campos de configuración, consulte el funcionamiento real de la arquitectura LAMP_Evens7xxX Blog-CSDN Blog

diagrama de arquitectura

imageneditar

Diferencias con LAMP

En la arquitectura LNMP, nginx maneja las solicitudes de páginas estáticas y fastCGI reenvía las solicitudes de páginas dinámicas al módulo php-fpm, luego pasa a través de la detección de contenedores y finalmente las analiza para php. Los datos relacionados con la base de datos abrirán la interfaz de conexión de la base de datos para obtener los datos.

1. Instalar el servicio Nginx

1. Instalar paquetes dependientes

yum -y install pcre-devel zlib-devel gcc gcc-c++ make

2. Crear un usuario en ejecución de Nginx

useradd -M -s /sbin/nologin nginx

3. Compile e instale el paquete fuente de Nginx

#解压源码包
cd /opt
tar zxvf nginx-1.12.0.tar.gz -C /opt/
​
#自定义安装
cd nginx-1.12.0/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
​
#编译安装
make && make install

4. Optimice la ruta para facilitar su uso

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

5. Agregue el servicio del sistema Nginx

#自定义service文件
vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
​
#设置权限,使文件生效
chmod 754 /lib/systemd/system/nginx.service
systemctl start nginx.service
systemctl enable nginx.service

Dos, instalar el servicio Mysql

1. Instale el paquete de dependencia del entorno Mysql

yum -y install \
ncurses \
ncurses-devel \
bison \
cmake

2. Crear un usuario en ejecución de Mysql

useradd -M -s /sbin/nologin  mysql

3. Compilar e instalar

#解压源码包
cd /opt
tar zxvf mysql-boost-5.7.20.tar.gz
​
#自定义安装
cd /opt/mysql-5.7.20/
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1
​
#编译安装
make && make install

4. Modificar el archivo de configuración mysql

vim /etc/my.cnf
[client]
port = 3306
socket=/usr/local/mysql/mysql.sock
​
[mysql]
port = 3306
socket = /usr/local/mysql/mysql.sock
auto-rehash
​
[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1
​
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

5. Cambie el propietario y el grupo del directorio de instalación de mysql y los archivos de configuración

chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf

6. Establezca la variable de entorno de ruta para un uso fácil

echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile  
source /etc/profile

7. Inicializar la base de datos

cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

8. Agregue el servicio del sistema mysqld

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl daemon-reload
systemctl start mysqld.service
systemctl enable mysqld

9. Modificar la contraseña de inicio de sesión de mysql

mysqladmin -u root -p password "abc123"

10. Autorice al usuario root para iniciar sesión de forma remota

mysql -u root -p

Introduzca la contraseña para iniciar sesión

imagen

3. Instalar el servicio PHP

1. Instalar paquetes dependientes del entorno

yum -y install gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel

2. Compilar e instalar

#解压源码包
cd /opt
tar jxvf php-7.1.10.tar.bz2
​
#自定义安装
cd php-7.1.10
./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip
​
#编译安装
make && make install

3. Optimice la ruta para facilitar su uso

ln -s /usr/local/php/bin/* /usr/local/bin/ 
ln -s /usr/local/php/sbin/* /usr/local/sbin/

4. Ajuste el archivo de configuración de php

/usr/local/php/lib/php.ini archivo de configuración principal
/usr/local/php/etc/php-fpm.conf Archivo de configuración del servicio de proceso (el valor predeterminado es solo un archivo de plantilla, que debe copiarse y renombrarse a php-fpm.conf)
/usr/local/php/etc/php-fpm.d/www.conf Archivo de configuración extendido (el valor predeterminado es solo un archivo de plantilla, que debe copiarse y renombrarse)

(1) Modificar php.ini

​
#复制模板并修改
cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini   
​
vim /usr/local/php/lib/php.ini
#939行,取消注释,修改
date.timezone = Asia/Shanghai
​
#1170行,修改
mysqli.default_socket = /usr/local/mysql/mysql.sock
​
#验证安装的模块
php -m


​

imagen

imagen

(2) Modificar php-fpm.conf

​
#复制模板文件
cd /usr/local/php/etc/
cp  php-fpm.conf.default php-fpm.conf
​
#修改进程服务配置文件
vim php-fpm.conf
​
#17行,去掉";"注释
pid = run/php-fpm.pid


​

imagen

La última línea representa la carga de todos los archivos conf en /usr/local/php/etc/php-fpm.d/

imagen

(3) Modificar www.conf

 cd /usr/local/php/etc/php-fpm.d/ 
cp www.conf.default www.conf 
​vim
www.conf

Modifique la dirección de escucha (de forma predeterminada, la IP especificada es la máquina local. Si el host que proporciona el servicio nginx y el servicio php no es el mismo, debe modificarse para proporcionar la dirección IP del servidor nginx)

imagen

El propietario y el grupo se pueden modificar a nginx

imagen

5. Inicie php-fpm

#进入软件包目录,复制并启用service文件
cd /opt/php-7.1.10/sapi/fpm
cp php-fpm.service /usr/lib/systemd/system/php-fpm.service
​
#重载并开启服务
systemctl daemon-reload
systemctl restart php-fpm.service

Comprobar encontrado que el servicio está habilitado

imagen

6. Configure Nginx para admitir el análisis de PHP

vim /usr/local/nginx/conf/nginx.conf
​
#65行,取消注释,修改
location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;  
    include        fastcgi_params;
}
​
#重启服务使配置生效
systemctl restart nginx.service

Cambie /scripts a $document_root para representar el valor especificado en el comando raíz de la solicitud actual (directorio raíz web)

imagen

7. Agregue el archivo inex.php para probar si el servicio php es efectivo

Primero, debe agregar el archivo de página de inicio especificado index.php en /usr/local/nginx/conf/nginx.conf

imagen

Vuelva a cargar el servicio para que la configuración surta efecto

systemctl reload nginx.service

Agregue el archivo index.php para la prueba de acceso

#在root指定的根目录下创建index.php文件,并添加内容
vim /usr/local/nginx/html/index.php
<?php
phpinfo();
?>

imagen

8. Verifique que la base de datos funcione correctamente

Agregar autorización, escribir página de prueba

imagen

imageneditar

imageneditar

4. Usa la arquitectura LNMP para construir un foro bbs

Descomprimir el archivo zip del foro

imagen

Ingrese al archivo del foro y copie la página al directorio raíz de la página web de bbs

imagen

imagen

autorización de base de datos

imagen

visita la página

imagen

imagen

Corrija la parte de informe de errores, cambie el propietario y los permisos

imagen

Continúe con el siguiente paso después de actualizar la página

imageneditar

Elija instalación limpia

imagen

Configure la base de datos y la contraseña ahora mismo, y luego configure un administrador y una contraseña

imagen

Visita después de una instalación exitosa

imagen

Puede iniciar sesión en el administrador en la esquina superior derecha

imagen

Hasta ahora, el uso de LNMP para publicar un sitio web está completo

Supongo que te gusta

Origin blog.csdn.net/wlc1213812138/article/details/131344296
Recomendado
Clasificación