docker下怎么搭建一个php环境(Docker搭建php环境教程详解)
docker下怎么搭建一个php环境
Docker搭建php环境教程详解docker 安装
使用官方提供的安装脚本,安装最新版的Docker
curl -sSL https://get.docker.com/ | sh
安装完成后,通过如下命令启动Docker的守护进程,并让它随系统启动自动加载
sudo service docker start
sudo chkconfig docker on
## 或者
sudo systemctl start docker
sudo systemctl enable docker
添加用户(jerry)到Docker组
sudo usermod -aG docker jerry
命令笔记(centos),基于docker镜像2233466866/lnmp
下载镜像
docker pull 2233466866/lnmp
创建基本目录
mkdir -p /app/lnmp/default /docker/lnmp/data/mysql /docker/lnmp/conf/vhost /docker/lnmp/logs /docker/lnmp/temp /docker/lnmp/backup
下载容器配置文件到本地相应目录
docker run -itd -v /sys/fs/cgroup:/sys/fs/cgroup:ro --privileged=true --name=lnmp 2233466866/lnmp
docker exec -it lnmp /bin/bash
docker cp lnmp:/etc/my.cnf /docker/lnmp/conf/my.cnf
docker cp lnmp:/usr/local/nginx/conf/nginx.conf /docker/lnmp/conf/nginx.conf
cp /docker/lnmp/conf/my.cnf /docker/lnmp/backup/my.cnf
cp /docker/lnmp/conf/nginx.conf /docker/lnmp/backup/nginx.conf
查看或修改基本配置(代码目录,日志保存目录及vhost目录配置添加)
my.cnf
[mysqld]
datadir=/data/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
nginx.conf
user www; worker_processes auto; worker_cpu_affinity auto; worker_cpu_affinity auto; pid logs/nginx.pid; events { worker_connections 102400; } http { charset utf-8; server_tokens off; log_format main '$remote_addr - $remote_user [$time_iso8601] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; include mime.types; default_type application/octet-stream; client_max_body_size 20M; sendfile on; keepalive_timeout 20; gzip on; gzip_vary on; gzip_comp_level 1; gzip_types text/css application/javascript application/json image/png image/webp image/apng image/jpeg image/x-icon; autoindex_localtime on error_log /logs/z_error.log; access_log /logs/z_$host.log main; server { listen 80 default; root /www/default; return 500; } include vhost/*.conf; }
停止并删除测试容器
docker stop lnmp
docker rm lnmp
重新创建容器
docker run -dit \
-p 80:80 \
-p 443:443 \
-p 3306:3306 \
-p 9000:9000 \
-e TC="Asia/Shanghai" \
-v /sys/fs/cgroup:/sys/fs/cgroup:ro \
-v /app/lnmp:/www \
-v /docker/lnmp/data/mysql:/data/mysql \
-v /docker/lnmp/conf/my.cnf:/etc/my.cnf \
-v /docker/lnmp/conf/nginx.conf:/usr/local/nginx/conf/nginx.conf \
-v /docker/lnmp/conf/vhost:/usr/local/nginx/conf/vhost \
-v /docker/lnmp/logs:/logs \
--privileged=true \
--name=lnmp \
2233466866/lnmp
mysql 数据库配置(/etc/my.cnf)
/bin/mysql_secure_installation
cat /var/log/mysqld.log|grep 'A temporary password'
SET PASSWORD = PASSWORD('123456');
php.ini 配置(/usr/local/php7/lib/php.ini)
mysqli.default_socket = /var/lib/mysql/mysql.sock
linux 相关设置修改
添加不能登陆的用户www
groupadd www
useradd -M -g www -s /usr/sbin/nologin www
修改时区(/etc/profile)
TZ='Asia/Shanghai'; export TZ
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
多站点配置
www.test.test.conf
server { listen 80; server_name test.test; rewrite ^(.*)$ $scheme://www.test.test$1 permanent; } server { listen 80; server_name www.test.test; if ($time_iso8601 ~ "^(\d{4}-\d{2}-\d{2})") { set $ttt $1; } access_log /logs/$host-$ttt-access.log main; root /www/test; location / { index index.php index.html index.htm; } location ~* \.php { include fastcgi_params; fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
- docker-compose命令(docker-compose教程之安装使用和快速入门)
- 用docker搭建在线开发平台(docker部署蜗牛影院系统详细流程分析)
- docker怎么部署node-exporter(Docker搭建部署Node项目的方法步骤)
- docker容器状态显示(Docker consul的容器服务更新与发现的问题小结)
- docker最新服务条款(解决Mac Docker x509证书的问题)
- docker镜像大是否会导致启动慢(docker下载镜像太慢的解决方案)
- docker配置和启动(Docker的安装与配置命令代码实例)
- docker可以快速的创建和删除(Docker 命令自动补全的实现)
- dockerswarm网络架构(docker swarm外部验证负载均衡时不生效的解决方案)
- docker部署带配置的镜像(docker安装fastdfs镜像的一些注意事项)
- docker菜鸟教程(Docker简单入门使用教程)
- docker原理和使用方法(docker的一些基本指令)
- docker 容器经常启动失败(浅谈Docker run 容器处于created状态问题)
- docker部署tomcat(Docker安装Tomcat、MySQL和Redis的步骤详解)
- centos7 docker容器目录(CentOS7使用docker部署Apollo配置中心的实现)
- springboot与docker(详解SpringBoot项目docker环境运行时无限重启问题)
- 《祝卿好》台词又土又甜,就喜欢这么直接的恋爱(祝卿好台词又土又甜)
- 大女主 汤唯垂青电视圈,搭档朱亚文出演《大明皇妃孙若微传》(汤唯垂青电视圈)
- 红色代表什么(红色代表什么情感和含义)
- 高中数学题(高中数学题型总结及解题方法)
- 冰岛旅游攻略(冰岛旅游攻略及花费)
- 为什么现在年轻人越来越喜欢买衣服(为什么现在年轻人越来越喜欢买衣服穿)
热门推荐
- ScriptManager.RegisterStartupScript用法
- vue计算两个日期差几分钟(vue实现同时设置多个倒计时)
- mysql sql优化方法(MySQL SQL优化教程之in和range查询)
- dedecms标签调用(dedecms获取文档当前栏目所在目录链接URL)
- css3基础选择器有哪些(对CSS3选择器的研究详解)
- 云服务器租用需要注意什么(网站云主机租赁时需要注意哪些事项?)
- mongodb用户权限
- Asp.net操作Word文档
- tomcat集群如何实现线程安全(如何通过LambdaProbe实现监控Tomcat)
- laravel自定义数据库驱动(laravel框架数据库配置及操作数据库示例)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9