首先需要说明的是,Docker是一种容器化技术,可以在不同的平台和环境中迅速搭建应用程序。LNMP环境则是指搭建Linux+Nginx+MySQL+PHP等Web应用程序的运行环境。本文将讲解如何使用Docker快速搭建LNMP环境。
环境准备
- 一台已安装Docker的Linux计算机;
- 一个可用的端口号;
- 一个test.php文件用于测试。
示例一:使用Docker快速搭建Nginx+PHP环境
以下是具体步骤:
1. 下载镜像
首先,我们需要下载存储Nginx、PHP等应用程序的镜像。此处我们使用官方提供的镜像。
运行以下命令:
docker pull nginx
docker pull php:7.4-fpm-alpine
2. 配置Nginx
然后,我们需要配置Nginx。
在你的Linux计算机上,创建一个目录用于存储Nginx的配置文件,并在该目录下创建一个名为default.conf的文件,并添加以下内容:
server {
listen [your port number];
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass [php container ip]:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
}
}
请将其中的[your port number]替换为你自己的端口号。
3. 启动Nginx与PHP容器
现在我们已经准备好了镜像和Nginx的配置,可以启动容器并将它们连接。
首先启动PHP容器:
docker run -d --name php --restart always -v /path/to/your/php/files:/usr/share/nginx/html php:7.4-fpm-alpine
将“/path/to/your/php/files”替换为你自己PHP文件的路径。
然后启动Nginx容器:
docker run -d --name nginx --restart always -p [your port number]:80 -v /path/to/your/nginx/conf.d:/etc/nginx/conf.d -v /path/to/your/nginx/html:/usr/share/nginx/html --link php:[php container name] nginx
将其中的“[your port number]”替换为你自己的端口号,“[php container name]”替换为你自己的PHP容器名称。
至此,你已经成功搭建了Nginx与PHP环境。在你的计算机上输入"http://localhost:[your port number]/test.php"即可测试。
示例二:使用Docker搭建LNMP环境
以下是具体步骤:
1. 下载镜像
首先,我们需要下载存储Nginx、MySQL和PHP等应用程序的镜像。
运行以下命令:
docker pull nginx
docker pull mysql
docker pull php:7.4-fpm-alpine
2. 配置Nginx
然后,我们需要配置Nginx和PHP。
在你的Linux计算机上,创建一个目录用于存储Nginx的配置文件,并在该目录下创建一个名为default.conf的文件,并添加以下内容:
server {
listen [your port number];
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass [php container ip]:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
}
}
请将其中的[your port number]替换为你自己的端口号。
3. 启动Nginx、PHP与MySQL容器
现在我们已经准备好了镜像和Nginx的配置,可以启动容器并将它们连接。
首先启动MySQL容器:
docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=[your root password] -v /path/to/your/mysql/data:/var/lib/mysql mysql
请将其中的"[your root password]"替换为你自己的MySQLRoot密码,将“/path/to/your/mysql/data”替换为你自己MySQL数据的路径。
然后启动PHP容器:
docker run -d --name php --restart always -v /path/to/your/php/files:/usr/share/nginx/html php:7.4-fpm-alpine
将“/path/to/your/php/files”替换为你自己PHP文件的路径。
最后启动Nginx容器:
docker run -d --name nginx --restart always -p [your port number]:80 -v /path/to/your/nginx/conf.d:/etc/nginx/conf.d -v /path/to/your/nginx/html:/usr/share/nginx/html --link php:[php container name] --link mysql:mysql nginx
将其中的“[your port number]”替换为你自己的端口号,“[php container name]”替换为你自己的PHP容器名称。
至此,你已经成功搭建了LNMP环境。在你的计算机上输入"http://localhost:[your port number]/test.php"即可测试。
注意事项:
- 如果你使用的是Windows或者Mac等其他平台,请注意Docker的启动方式和文件路径的设置可能会有所不同。
- 如果你使用的MySQL版本不是docker官方镜像中的版本,那么你需要更改对应的版本号进行下载。
- 示例二中,我们没有配置MySQL的映射端口,意味着你只能以容器内部的方式访问MySQL。如果你需要在局域网外部访问MySQL,那么请参考docker官方文档进行调整。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Docker如何快速搭建LNMP环境(最新) - Python技术站