Este artículo le presentará cómo implementar el proyecto de disco de red en la nube kod Kedao. Primero, use Alibaba Cloud para construir una pequeña arquitectura, que incluye siete capas de carga, dos servidores web y certificados https, y luego cree el disco de red kod en La web.
Proceso de implementación
1. Creación de compras Web01
Primero, compre un ECS y personalice la compra, elegimos pago por uso, North China 6 Ulanqab, que es más barato, con zona de disponibilidad aleatoria, 1cpu1g.
Seleccione CentOS para la imagen, 7.9 para la versión y seleccione High Efficiency Cloud Disk como tipo de disco del sistema, 20G, que es económico. Para las empresas, debe elegirlo según sus necesidades. Después de seleccionar, puede dar el siguiente paso. Tenga en cuenta que la cuenta no debe ser inferior a 100 yuanes.
Elija no asignar IP pública a la red pública, porque tenemos equilibrio de carga y se puede acceder al equilibrio de carga a través de la red pública. Puede verificar todos los puertos de protocolo abiertos a continuación y continuar con el siguiente paso.
Para la contraseña, elegimos una contraseña personalizada, el nombre de la instancia y el nombre del host son consistentes, completamos web01 y continuamos con el siguiente paso.
Podrás añadir etiquetas, seleccionar grupos de seguridad, etc. No es necesario que lo hagas, simplemente ve al siguiente paso y confirma el pedido.
Consulte los términos de servicio y haga clic en Crear instancia
Le indica que la creación fue exitosa. Haga clic en la consola de administración para ver la instancia creada.
2. Agregar disco a web01
Haga clic en la consola de administración del disco en la nube de ECS, cree un disco en la nube, móntelo en la instancia de ECS, seleccione Ulanqab en la misma región que web01, seleccione nuestra instancia web01 y elija el pago del disco en la nube de pago por uso, que También es un disco en la nube de alta eficiencia. Eso es todo, 40G, confirma el pedido.
Desplácese hacia abajo y seleccione Liberar con instancia, verifique el acuerdo de servicio, modifique el nombre, haga clic en Confirmar pedido, confirme la creación y, después de un momento, se le indicará que se creó el disco en la nube.
Después de la creación, se mostrará en la lista de discos en la nube de la consola de administración.
Podemos administrar nuestro servidor a través de Alibaba Cloud, hacer clic en la consola de la instancia y hacer clic en Conexión remota a la derecha.
Simplemente inicie sesión inmediatamente utilizando el método predeterminado.
Después de ingresar la contraseña para iniciar sesión, podemos usar df -h para verificar la información de montaje, si no la encontramos, no entre en pánico, de hecho, ya está en nuestro web01, por lo que podemos montarlo manualmente.
[root@web01 ~]# yum -y install ntfsprogs
[root@web01 ~]# mkfs.ext4 /dev/vdb
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
2621440 inodes, 10485760 blocks
524288 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2157969408
320 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
[root@web01 ~]# mount /dev/vdb /mnt
[root@web01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 461M 0 461M 0% /dev
tmpfs 471M 0 471M 0% /dev/shm
tmpfs 471M 488K 471M 1% /run
tmpfs 471M 0 471M 0% /sys/fs/cgroup
/dev/vda1 20G 2.3G 17G 13% /
tmpfs 95M 0 95M 0% /run/user/0
/dev/vdb 40G 49M 38G 1% /mnt
3. Expanda el disco de datos a 100G
En la consola de administración de discos en la nube, seleccione Expansión.
Ya conocido y respaldado, continúa expandiéndonos, ingresamos a 100G y seleccionamos la expansión en línea.
Próximo paso
Echa un vistazo a las sugerencias: La consola muestra expansión, pero no hay ninguna expansión real.
Nos conectamos al servidor de forma remota, cancelamos manualmente el montaje, creamos el sistema de archivos y luego lo volvemos a montar.
[root@web01 ~]# umount /mnt
[root@web01 ~]# mkfs.ext4 /dev/vdb
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
6553600 inodes, 26214400 blocks
1310720 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2174746624
800 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
[root@web01 ~]# mount /dev/vdb/ /mnt
[root@web01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 461M 0 461M 0% /dev
tmpfs 471M 0 471M 0% /dev/shm
tmpfs 471M 560K 471M 1% /run
tmpfs 471M 0 471M 0% /sys/fs/cgroup
/dev/vda1 20G 2.4G 17G 13% /
tmpfs 95M 0 95M 0% /run/user/0
/dev/vdb 99G 61M 94G 1% /mnt
[root@web01 ~]#
4. Instale nginx en web01
[root@web01 ~]# yum -y install nginx
#删除nginx中的这部分内容,我们自己在conf.d中创建
server {
listen 80;
listen [::]:80;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
[root@web01 nginx]# cat /etc/nginx/conf.d/kod.conf
server {
listen 80;
server_name kod.koten.vip;
location / {
root /code/kod;
index index.php index.html index.htm;
}
location ~\.php$ {
root /code/kod;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params; #需要加这个,不然白屏
}
}
[root@web01 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@web01 ~]# systemctl start nginx
[root@web01 ~]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
php, debido a que implica cargar un paquete comprimido, necesitamos usar xshell para conectarnos. Primero configuramos la IP pública elástica en web01 y luego la desvinculamos del balanceador de carga.
5. Vincula la IP elástica en web01
6. web01 instalar php
[root@web01 ~]# yum -y install lrzsz
[root@web01 ~]# rz -E
[root@web01 ~]# tar xf php71.tar.gz
[root@web01 ~]# yum -y localinstall *.rpm
[root@web01 ~]# systemctl start php-fpm.service
[root@web01 ~]# systemctl enable php-fpm.service
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
[root@web01 ~]# cat /etc/php-fpm.d/www.conf #统一用户
user = nginx
group = nginx
7. Implementar el proyecto kod
Sitio web oficial de Kedaoyun, busque el botón Descargar ahora, haga clic derecho y copie la dirección del enlace
[root@web01 ~]# wget https://static.kodcloud.com/update/download/kodbox.1.38.zip
[root@web01 ~]# yum -y install unzip
[root@web01 ~]# mkdir -p /code/kod
[root@web01 ~]# unzip kodbox.1.38.zip -d /code/kod
[root@web01 ~]# chown -R nginx.nginx /code/kod/
8. IP de la red pública de resolución de nombres de dominio
El nombre de dominio debe registrarse con anticipación. Ingrese DNS de resolución de nube y realice las operaciones como se muestra a continuación. Complete el valor del registro con la IP elástica que acaba de crear.
9. Instale y acceda al disco de red kod.
Próximo paso
Como no hemos instalado una base de datos, podemos elegir la base de datos que viene con PHP.
Ingrese la contraseña de la cuenta, confirme y complete la instalación.
Inicia sesión normalmente
Carga de prueba, no hay problema, el proyecto se ejecuta normalmente
10. Pruebe el servicio de recuperación de instantáneas
Directorio de códigos de eliminación del servidor
[root@web01 nginx]# rm -rf /code
El navegador accedió a la URL y descubrió que no se podía acceder a ella.
Detener una instancia
Restaurar instantánea
Dado que hemos configurado nginx y php para que se inicien automáticamente en el arranque, el negocio se restaurará automáticamente después de que se restaure la instantánea.
Una vez que la instantánea se restaure exitosamente, el navegador se mostrará normalmente cuando se acceda nuevamente.
11. Espejo basado en instantáneas.
Consola de instantáneas para crear imágenes personalizadas
confirmar
Una vez completada la creación, puede verla en la lista de imágenes y hacer clic en Crear instancia.
12. Cree un servidor web02 basado en la imagen.
Seleccione la misma zona de disponibilidad que web01
No es necesario asignar IP pública
Confirmar pedido, firmar y realizar pedido
13. Desvincular la IP pública elástica de web01
Consola de ejemplo, desvinculación de IP elástica
14. Compre la carga SLB tradicional y vincule la IP pública elástica
Para el equilibrio de carga tradicional, preste atención a que la región sea coherente con la región web.
Como se configura en la figura, seleccione la red privada porque tenemos una IP elástica que se puede vincular al equilibrio de carga.
Compre ya
Abre ahora, firma y haz tu pedido.
Unir nuestra IP elástica
15. Configure el certificado de carga útil y reenvíelo a la WEB backend.
Solicitar un certificado
Después de completar la información relevante, envíela para su revisión.
Consola de instancia, asistente de configuración de monitoreo
Agregar puerto 443
Agregue y cree un certificado. Acabo de solicitarlo. Tenga cuidado de no elegir el incorrecto. Elegí un nombre de dominio diferente aquí y no modificaré más la imagen.
Agregar servidor, agregar puerto
Siguiente paso, siguiente paso, simplemente envíelo
Configure el puerto 80 y escuche en el 443. El siguiente paso es enviarlo.
Agregue 5555 para reenviar a web01 y 6666 para reenviar a web02 respectivamente.
Siguiente paso, siguiente paso, enviar, configurar el puerto 6666 para que se reenvíe al puerto 22 de web02
Siguiente paso, siguiente paso, enviar
17. Acceso anormal al navegador, modificar el archivo de configuración del servidor web
El acceso al navegador sigue dando vueltas porque el PHP de nuestro servidor web no reconoce el protocolo https y necesita modificar el archivo de configuración de nuestra web.
[c:\~]$ ssh 8.130.97.32 5555
Connecting to 8.130.97.32:5555...
Connection established.
To escape to local shell, press Ctrl+Alt+].
Last login: Sun Apr 23 20:18:34 2023 from 123.112.17.24
Welcome to Alibaba Cloud Elastic Compute Service !
[root@web01 ~]# cat /etc/nginx/conf.d/kod.conf
server {
listen 80;
server_name kod.koten.vip;
location / {
root /code/kod;
index index.php index.html index.htm;
}
location ~\.php$ {
root /code/kod;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_param HTTPS on;
}
}
[root@web01 ~]# systemctl restart nginx
[c:\~]$ ssh 8.130.97.32 6666
Connecting to 8.130.97.32:6666...
Connection established.
To escape to local shell, press Ctrl+Alt+].
Last login: Sun Apr 23 18:23:09 2023 from 123.112.17.24
Welcome to Alibaba Cloud Elastic Compute Service !
[root@web02 ~]# cat /etc/nginx/conf.d/kod.conf
server {
listen 80;
server_name kod.koten.vip;
location / {
root /code/kod;
index index.php index.html index.htm;
}
location ~\.php$ {
root /code/kod;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_param HTTPS on;
}
}
[root@web02 ~]# systemctl restart nginx
Accede al navegador, vuelve a la normalidad y ¡listo!
Mi nombre es Koten. Tengo 10 años de experiencia en operación y mantenimiento. Sigo compartiendo consejos de operación y mantenimiento. ¡Gracias por leer y prestar atención!