firewall-cmd --zOne=public --add-port=80/tcp --permanent
安装docker
yum install docker -y
安装docker-compose
yum install epel-release -y
yum install -y python-pip
pip install -U docker-compose
部署nginx+php+mysql
开启docker
systemctl start docker
cd /home
mkdir www //网站目录
mkdir conf //配置文件
mkdir app //下载的应用
//拉取官方镜像
docker pull nginx:1.12.0
docker pull php:5.4-fpm
docker pull mysql:5.6
//下载到/home/app
去php官网下载php5.4.45
nginx官网下载nginx1.12.0
phpmyadmin官网下载phpmyadmin找php对应版本
都下载完并解压完成后,进入php文件
cp php.ini-development /home/conf/php.ini
进入nginx文件
cp conf/nginx.conf /home/conf/nginx.conf
cd /home/conf
vi nginx.conf
location / { root /usr/share/nginx/html; index index.html index.php index.htm; }
location ~ \.php {//去除$ root /var/www/html; fastcgi_pass fpm:9000; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(.*)$; //nginx添加path_info支持 fastcgi_param PATH_INFO $fastcgi_path_info;//nginx添加path_info支持 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
cd /home/app
复制phpmyadmin解压出来的文件到/home/www并改名为phpmyadmin
//编写docker-compose
cd /home
docker images //查看镜像id
vi docker-compose.yml
php:
image: php镜像id
ports:
- 9000:9000
volumes:
- /home/www:/var/www/html
- /home/conf/php.ini:/usr/local/etc/php/php.ini
links: - mysql privileged: true
nginx: image: nginx镜像id ports: - 80:80 volumes: - /home/www:/usr/share/nginx/html - /home/conf/nginx.conf:/etc/nginx/nginx.conf links: - php:fpm privileged: true
mysql: image: mysql镜像id ports: - 3306:3306 volumes: - /home/data:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=123 privileged: true
docker-compose编写完成后
执行
docker-compose up -d //使容器后台运行
docker exec -it home_mysql_1 bash //进入mysql容器
mysql -u -root -p
密码:123
执行 status
查看 UNIX socket地址并复制
执行use mysql
update user set Host = ‘%‘ where User = ‘root‘;
flush privileges;
完成后两次ctrl+d
退出容器
cd /home/conf
vi php.ini
搜索
mysql.default
mysqli.default
pdo_mysql.default
等号后加上复制出来的UNIX socket地址
cd /home
docker-compose restart
cd www
vi index.php
phpinfo();
?>
查看php信息
cd phpmyadmin
vi config.sample.inc.php
$cfg[‘Servers‘][$i][‘host‘] = ‘mysql‘;退出后config.sample.inc.php改名为config.inc.php从外部访问 http://ip地址/phpmyadmin/index.php登录mysql成功后即可完成
docker 部署 nginx+php+mysql