我们在工作中最常用的就是LNMP网站平台
这个架构呢,是整个公司网站的核心
如果对于访问量较小的网站,可以直接在服务器上面部署
而如果是访问量很大的网站,那负载就是个很大的问题。
要么需要再买很多服务器做节点,要么就是现在流行的虚拟化。
我们知道一台加满硬盘和内存条的服务器至少需要3W人民币
这样的话对于公司来说可是不小的开支
所以很多公司开始招聘熟悉虚拟化的人才
Docker是现在很火的虚拟化技术
使用Docker部署服务
既简单又方便还省钱
来学学吧,很简单,就不到十条命令。
- 环境:
CentOS7、MySQL镜像、nginx-php-fpm镜像、wordpress包
- 思路
在CentOS7上装好Docker,下载镜像,运行镜像,配置MySQL,连接MySQL和nginx-php-fpm,最后测试
- 下载镜像
1 #pull MySQL镜像 2 [root@ ~]# docker search mysql 3 INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED 4 docker.io docker.io/mysql MySQL is a widely used, open-source relati... 7386 [OK] 5 ...........................................#出来很多镜像条目,一般我们选择STARS最高的 6 [root@ ~]#docker pull mysql 7 #等待pull完镜像,然后pull nginx-php-fpm镜像 8 [root@ ~]#docker search nginx 9 INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED 10 docker.io docker.io/nginx Official build of Nginx. 10307 [OK] 11 docker.io docker.io/jwilder/nginx-proxy Automated Nginx reverse proxy for docker c... 1469 [OK] 12 docker.io docker.io/richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable ... 648 [OK] 13 ........................................... 14 [root@ ~]#docker pull docker.io/richarvey/nginx-php-fpm 15 #等待pull完镜像 16 #查看下载的镜像 17 [root@ ~]#docker images 18 REPOSITORY TAG IMAGE ID CREATED SIZE 19 docker.io/mysql latest f991c20cb508 8 days ago 486 MB 20 docker.io/richarvey/nginx-php-fpm latest 359a8d82408a 3 weeks ago 304 MB
- 运行&配置镜像容器
1 [root@ ~]#docker run -itd --name lnmp_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=设置你的MySQL密码 myql 2 #lnmp_mysql:设置容器名称、MYSQL_ROOT_PASSWORD:变量 3 [root@ ~]#docker exec lnmp_mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e "create database 数据库名"' 4 #$MYSQL_ROOT_PASSWORD:引用变量 5 [root@ ~]#docker run -itd --name lnmp_web -p 8080:80 --link lnmp_mysql:db -v /container/web:/var/www/html docker.io/richarvey/nginx-php-fpm 6 #--link lnmp_mysql:db 是连接到MySQL数据库;-v /container/web:/var/www/html是把宿主机的路径映射到容器里面,冒号左边是宿主机路径,右边是容器内路径
- 测试
测试成功,下载wordpress包。
1 wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
将wordpress包解压。并将里面文件移动到容器与宿主机映射的那个路径下。
然后重启这个容器,接着浏览器访问就可以了。