# LNMP-Wordpress **Repository Path**: chenl16/lnmp-wordpress ## Basic Information - **Project Name**: LNMP-Wordpress - **Description**: 使用Docker 容器化实现LNMP架构,并应用在Wordpress上 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-02-17 - **Last Updated**: 2025-02-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LNMP架构的搭建及应用部署 **LNMP架构** LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python。 ## **LNMP介绍** LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。 Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好 MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。MySQL不仅是开放源代码的,也因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。 PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。因为PHP的开源性、免费性、快捷性等特点使其成为目前最流行的编程语言。 ![image](./架构.png) 第一步:用户在浏览器输入域名或者IP访问网站 第二步:用户在访问网站的时候,向web服务器发出http request请求,服务器响应并处理web请求,返回静态网页资源,如CSS、picture、video等,然后缓存在用户主机上。 第三步:服务器调用动态资源,PHP脚本调用fastCGI传输给php-fpm,然后php-fpm调用PHP解释器进程解析PHP脚本。 第四步:出现大流量高并发情况,PHP解析器也可以开启多进程处理高并发,将解析后的脚本返回给php-fpm,然后php-fpm再调给fast-cgi将脚本解析信息传送给nginx,服务器再通过http response传送给用户浏览器。 第五步:浏览器再将服务器传送的信息进行解析与渲染,呈现给用户。 ## **1.项目结构** ``` ./lnmp-wordpress/ ├── Dockerfile │   ├── data │   │   └── wordpress-6.4.3-zh_CN.tar.gz ##wordpress安装包 │   ├── docker-compose-build.yaml ##docker-compose文件,可直接构建镜像 │   ├── docker-compose.yaml │   └── ubuntu │   ├── mysql │   │   ├── 50-server.cnf ##mysql配置文件,开启远程连接 │   │   ├── Dockerfile │   │   └── init.sh ##初始化mysql │   ├── nginx │   │   ├── Dockerfile │   │   ├── nginx.conf ##正常nginx配置文件 │   │   └── nginx-wordpress.conf ##应用wordpress的nginx配置文件 │   └── php │   ├── Dockerfile │   └── set-php-config1.sh ##php配置文件 └── README.md ``` ## 2.**实战部署LNMP架构** ``` git clone https://gitee.com/chenl16/lnmp-wordpress.git ``` ##构建镜像并启动容器 ``` root@docker:~/LNMP-Wordpress/lnmp-wordpress/Dockerfile# docker-compose -f docker-compose-build.yaml up -d ``` ##解压Wordpress压缩包 ``` [root@docker data]# ls wordpress-6.4.3-zh_CN.tar.gz root@docker:~/LNMP-Wordpress/lnmp-wordpress/Dockerfile/data# tar -zxf wordpress-6.4.3-zh_CN.tar.gz root@docker:~/LNMP-Wordpress/lnmp-wordpress/Dockerfile/data# ls wordpress wordpress-6.4.3-zh_CN.tar.gz ``` ##成功后在浏览器访问http://IP:8066/index.php ![image](./01.png) ##进入mysql容器创建数据库 ``` [root@docker Dockerfile]# docker exec -it mysql-wordpress /bin/bash [root@c80c66120568 /]# mysql -uroot -p000000 MariaDB [(none)]> create database wordpress; ``` ![image](./03.png) ##创建wp-config.php文件 ``` ##进入wordpress数据目录 root@docker:~/LNMP-Wordpress/lnmp-wordpress/Dockerfile/data/wordpress# pwd /root/lnmp-wordpress/Dockerfile/data/wordpress ##创建wp-config.php文件 [root@master wordpress]# vim wp-config.php ##将复制的内容拷贝进去 ``` ![image](./05.png) ![image](./06.png) ![image](./07.png)