Docker下LNMP 部署
时间: 2024-01-19 11:38:50 浏览: 108
LNMP的部署
在Docker下部署LNMP(Linux + Nginx + MySQL + PHP)可以按照以下步骤进行:
1. 安装Docker和Docker Compose:首先,确保你的系统上已经安装了Docker和Docker Compose。你可以根据你的操作系统选择合适的安装方式。
2. 创建Nginx容器:创建一个Nginx容器作为Web服务器。可以使用官方提供的Nginx镜像,并将配置文件和网站文件挂载到容器内部。示例docker-compose.yml文件如下:
```yaml
version: '3'
services:
nginx:
image: nginx
ports:
- 80:80
volumes:
- ./nginx/conf:/etc/nginx/conf.d
- ./nginx/html:/usr/share/nginx/html
restart: always
```
在同级目录下创建一个`nginx`文件夹,然后在`nginx`文件夹下创建`conf`和`html`文件夹,分别用于存放Nginx的配置文件和网站文件。
3. 创建PHP-FPM容器:创建一个PHP-FPM容器来解析PHP代码。使用官方提供的PHP-FPM镜像,并将网站文件挂载到容器内部。示例docker-compose.yml文件如下:
```yaml
version: '3'
services:
php-fpm:
image: php:fpm
volumes:
- ./nginx/html:/var/www/html
restart: always
```
4. 创建MySQL容器:创建一个MySQL容器来存储数据。使用官方提供的MySQL镜像,并设置MySQL的用户名、密码和数据库。示例docker-compose.yml文件如下:
```yaml
version: '3'
services:
mysql:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: database
MYSQL_USER: username
MYSQL_PASSWORD: password
volumes:
- ./mysql:/var/lib/mysql
restart: always
```
在同级目录下创建一个`mysql`文件夹,用于存放MySQL的数据。
5. 启动容器:在终端中切换到docker-compose.yml所在的目录,然后运行以下命令启动容器:
```
docker-compose up -d
```
这将启动Nginx、PHP-FPM和MySQL容器,将它们连接到一个网络中。
6. 配置Nginx和PHP:在`nginx/conf`文件夹中创建一个`default.conf`文件,用于配置Nginx的虚拟主机。示例配置如下:
```
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass php-fpm:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
```
这个配置将把所有的请求转发给PHP-FPM容器处理。
7. 创建一个`index.php`文件并放置在`nginx/html`文件夹中,用于测试。
8. 访问网站:在浏览器中访问`http://localhost`,如果一切正常,你将看到index.php文件的内容。
这样,你就成功在Docker下部署了LNMP(Linux + Nginx + MySQL + PHP)应用。你可以根据自己的需求进行配置和扩展。
阅读全文