window 10系统 在docker里搭建lnmp环境
首先说一下子,这里的lnmp的l不是linux 是laravel框架 哈哈哈
- 安装centos下载centos7
这篇文章是下载的图形界面
在图形界面使用 ctrl+alt+F2切换到dos界面
dos界面 ctrl+alt+F2切换回图形界面
进入dos界面 查看当前的默认界面形式:
systemctl get-default
结果出现:
图形化界面
graphical.target
命令行界面
multi-user.target
设置系统默认的界面形式(需要进入到root模式)
设置为图形化界面:
systemctl set-default graphical.target
设置为命令行界面:
systemctl set-default multi-user.target
如果出现 interactive authentication required 说明没有用root角色运行
切换root角色
su
重新运行。查看当前默认开启的是图形还是命令行
重启系统
reboot
基础设施ok
- 安装docker
yum安装
yum install -y docker
查看是否安装完成
docker version
报错来了,这个报错是因为etc/docker 下面没有daemon.json文件,那我们创建一个
编辑daemon.json文件
{ "registry-mirrors": ["https://registry.docker-cn.com"] }
重启docker
systemctl restart docker.service
这下没有报错了
附带一下docker 命令
systemctl start docker # 启动docker systemctl stop docker # 停止docker systemctl status docker # 查看docker状态 systemctl restart docker # 重新启动docker docker search nginx命令查找 Docker Hub 上的 nginx 镜像
- docker搭建lnmp环境
1.下载php
docker pull php:7.4-fpm docker run -p 9000:9000 -d --name php -v /docker/www:/docker/www --privileged=true php:7.4-fpm -p 9000:9000 :将容器的9000端口映射到主机的9000端口 -d 后台运行(守护进程) --name php:将容器命名为php -v 将主机中当前目录下的www挂载到容器的www目录
查看php-fpm服务ip
docker inspect php | grep "IPAddress"
2.下载nginx
创建nginx配置
cd /docker/nginx touch default.conf vim default.conf server { listen 80; listen [::]:80; server_name localhost; root /docker/www/blog/public; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /docker/www/blog/public; } location ~ \.php$ { root /docker/www/blog/public; fastcgi_pass 172.17.0.2:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } ```bash docker run -p 80:80 -d --name nginx2 -v /docker/nginx/default.conf:/etc/nginx/conf.d/default.conf -v /docker/www:/docker/www --privileged=true nginx
-p 80:80:将容器的80端口映射到主机的80端口
-d 后台运行(守护进程)
–name nginx:将容器命名为nginx
-v 将主机中当前目录下的www挂载到容器的www目录
又来报错,没事继续解决
问题是,没有开启转发,网桥配置完后,需要开启转发,不然容器启动后,就会没有网络,配置/etc/sysctl.conf,添加net.ipv4.ip_forward=1
vim /etc/sysctl.conf #配置转发 net.ipv4.ip_forward=1 #重启服务,让配置生效 systemctl restart network #查看是否成功,如果返回为“net.ipv4.ip_forward = 1”则表示成功 sysctl net.ipv4.ip_forward
ps: 我中间改了一下nginx配置
重新加载配置
docker-composer restart nginx-lsb #这个要下载好几个包 我懒我用下面这种 docker restart nginx2 #重启nginx (nginx2是我起的别名 )
嗯嗯 这里是没有权限
cd /docker/www chmod -R 777 lmrs-2008
很nice
继续安装mysql
docker pull mysql vim /etc/my.cnf
添加配置文件
[client] port = 3306 socket = /tmp/mysql.sock [mysqld] secure_file_priv=/var/lib/mysql port = 3306 socket = /tmp/mysql.sock datadir = /usr/local/mysql/data default_storage_engine = InnoDB performance_schema_max_table_instances = 400 table_definition_cache = 400 skip-external-locking key_buffer_size = 32M max_allowed_packet = 100G table_open_cache = 128 sort_buffer_size = 768K net_buffer_length = 4K read_buffer_size = 768K read_rnd_buffer_size = 256K myisam_sort_buffer_size = 8M thread_cache_size = 16 tmp_table_size = 32M default_authentication_plugin = mysql_native_password lower_case_table_names = 1 sql-mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES explicit_defaults_for_timestamp = true max_connections = 500 max_connect_errors = 100 open_files_limit = 65535 log-bin=mysql-bin binlog_format=mixed server-id = 1 binlog_expire_logs_seconds = 600000 slow_query_log=1 slow-query-log-file=/usr/local/mysql/data/mysql-slow.log long_query_time=3 early-plugin-load = "" innodb_data_home_dir = /usr/local/mysql/data innodb_data_file_path = ibdata1:10M:autoextend innodb_log_group_home_dir = /usr/local/mysql/data innodb_buffer_pool_size = 128M innodb_log_file_size = 64M innodb_log_buffer_size = 16M innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 50 innodb_max_dirty_pages_pct = 90 innodb_read_io_threads = 1 innodb_write_io_threads = 1 [mysqldump] quick max_allowed_packet = 500M [mysql] no-auto-rehash [myisamchk] key_buffer_size = 32M sort_buffer_size = 768K read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout
开启mysql
docker run -p 3306:3306 -d --name mysql -v /etc/my.cnf:/etc/mysql/my.cnf --privileged=true -e MYSQL_ROOT_PASSWORD=root mysql
-p 3306:3306 :将容器的3306端口映射到主机的3306端口
-d 后台运行(守护进程)
–name mysql:将容器命名为mysql
-v 将主机中的mysql配置挂载到容器的/etc/mysql/my.cnf
进入容器内部,查看是否能运行mysql
docker exec -it mysql bash
mysql -uroot -p
很耐思
用navicat连接一下子
未完待续 之后更新一下 swoole怎么加速laravel框架
- lnmp团队开发环境docker环境搭建 mac系统为例
- 【Appium在window10系统上的环境搭建】
- window 10 配置 docker 环境
- Linux系统环境基于Docker搭建Mysql数据库服务实战
- Docker实战-分离部署LNMP环境搭建Wordpress个人站点
- Window系统上编写Linux_c语言程序的环境搭建
- window10下php7 nginx mysql redis 开发环境快速搭建
- PyTorch环境搭建(window10 + cuda10.1 + python3.6 + pip + jupyter notebook)
- window docker TensorFlow环境搭建
- (附) Hyperledger Fabric在CentOS 7.2 64位系统开发环境搭建——docker无法使用 解决方法
- Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
- mac+virtualbox+centos7+docker搭建lnmp环境
- 在阿里云centos6.5系统上用docker搭建php环境的失败过程
- window10下ELK环境搭建与实战
- [转]window10系统安装oracle11g时遇到INS-13001环境不满足最低要求
- window 10 / linux 搭建kubernetes环境
- Debian7.3下Web服务器环境搭建LNMP一键安装包 | 系统运维
- Window 10 系统 JAVA 开发环境配置
- Redhat6.5系统下搭建LNMP环境(源码编译)
- Docker学习资料之安装nginx镜像搭建LNMP环境