搭建LNMP网站平台实战
LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python。
docker network create lnmp
2、创建Mysql数据库容器(数据卷挂在到宿主机上,保证容器删除数据仍然存在,注:mysql版本选用5.7最新版本可能出现认证错误)
# docker run -itd --name lnmp_mysql --net lnmp -p 3306:3306 --mount src=mysql-vol,dst=/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 --character-set-server=utf8 查看目前存在数据卷 # docker volume ls local mysql-vol 查看启动进程 # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES adc7c9bae51a mysql:5.7 "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:3306->3306/tcp, 33060/tcp lnmp_mysql 4d7ba1b58a90 nginx "nginx -g 'daemon of…" 38 minutes ago Up 38 minutes 80/tcp nginx-test1 查看日志 # docker logs lnmp_mysql 查看进程 # docker top lnmp_mysql 安装mysql客户端查看远程登录是否正常 # yum -y install mysql # mysql -u root -p123456 -h 127.0.0.1 Welcome to the MariaDB monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.25 MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MySQL [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec)
3、创建所需数据库
# docker exec lnmp_mysql sh -c 'exec mysql -uroot -p"123456" -e"create database wp"'
# docker exec lnmp_mysql sh -c 'exec mysql -uroot -p"123456" -e"show databases"'
Database wp
4、创建PHP环境容器(数据卷挂在宿主机目录保证网站更改后直接在容器中生效)
docker run -itd --name lnmp_web --net lnmp -p 88:80 --mount type=bind,src=/app/wwwroot,dst=/var/www/html richarvey/nginx-php-fpm
5、以wordpress博客为例测试
wget https://cn.wordpress.org/wordpress-4.7.4-zh_CN.tar.gz
tar zxf wordpress-4.7.4-zh_CN.tar.gz -C /app/wwwroot # 浏览器测试访问 http://IP:88/wordpress
http://IP:88/wordpress/wp-admin/
备注:博客下载地址
链接:https://pan.baidu.com/s/1EjTbJkOHWlHUKU5BXdFPvA 密码:mzvh