php网站设计与开发(php简单图书管理系统推荐)

2022-07-17,,,,

本想在这篇文中说一下阿里云主机的采购和选型,又怕大家误会我是广告贴,所以关于阿里云的选购以后我将单独发到我的博客当中。

闲话少说,进入正题。小型企业站快速上云其实是一件很容易的事情,但是每次配置服务器却并不是一件容易的事,每次大家都要找一些需要安装的插件和组件,有的因为版本问题,有的因为翻墙问题最后的安装过程相当麻烦。docker就成为了我们快速部署的工具。

docker

本文中我将以php7+nginx+mysql+为例在centos6.8以上系统中进行docker环境的搭建,也就是常说的lnmp环境,接下来为大家简单进行网站配置的教程.

开始前我们明确一下所要安装服务的插件及开放的端口

php7-fpm进程默认开放9000端口,nginx默认开放80端口,也可以根据需要进行调整,mysql开放3306端口。

本文中我们采用官方镜像进行docker源的加速。

拉取镜像

php

docker pull php:7.2.3

mysql

docker pull mysql:5.7.21

nginx(tengine/openresty)

docker pull nginx:1.13.10

启动容器

启动容器时,需要注意各容器之间的关联关系。

在lnmp架构中,web服务器(nginx)需要将php请求转发给php-fpm进行处理,而php要进行数据的存取,少不了和数据库(mysql)进行交互,所以他们之间存在关联,那么启动时需要指定这些关联,这个关联使用networks参数来指定。

建立网络

docker network create my_net

docker run -it -d -p 3306:3306 --network my_net -e mysql_root_password=123456 -v /mnt/mysql:/var/lib/mysql --name mysql mysql:5.7.21 
docker run -d -p 9000:9000 --name php -v --network my_net /mnt/html:/usr/local/openresty/nginx/html php:7.2.3 #php
docker run -d -p 80:80 --name nginx -v /mnt/html:/usr/local/openresty/nginx/html --network my_net nginx:1.13.10 #nginx

启动时我们多使用了一个-v参数,这个参数的意思是挂载,作用是将宿主机的一个目录挂载到容器中指定的目录,这样,即使我们销毁了这个容器,那容器中的数据依然保留在宿主机上,不会丢失。比如数据库存放数据的data目录,web服务器存放代码的www目录,每个服务存放配置文件的目录等。

web_server:
 image: nginx
 ports:
 - "80:80"
 - "443:443"
 volumes:
 - /mnt/html:/usr/local/openresty/nginx/html
 networks:
 - "my_net"
db_server:
 image: docker.io/mysql:5.7.21
 environment:
 mysql_root_password: 123456
 ports:
 - "3306:3306"
 volumes:
 - /mnt/mysql:/var/lib/mysql
 networks:
 - "my_net"
php:
 image: docker.io/php:7.2.3
 container_name: php
 links:
 - db_server:mysql
 ports:
 - "9000:9000"
 volumes:
 - /mnt/html:/usr/local/openresty/nginx/html
 - /mnt/php:/usr/local/etc/php
 networks:
 - "my_net"
 networks:
 my_net:
 driver: bridge
 

保存为docker-compose.yml,并在该文件处执行启动命令docker-compose up -d

starting mysql ... done
starting php ... done
starting nginx ... done

可以验证一下是否正常启动:

docker ps -a 或 docker-compose ps

《php网站设计与开发(php简单图书管理系统推荐).doc》

下载本文的Word格式文档,以方便收藏与打印。