Sign inSign up

haveyb/lnmp

By haveyb

•Updated over 6 years ago

一个集成Linux-centos7.6、Nginx1.16、MySQL5.7、PHP7.3 的 docker镜像

Image
9

2.1K

haveyb/lnmp repository overview

一、简介

Linux:CentOs7.6  Nginx:1.1.6  MySQL:5.7  PHP:7.3

这是一个集成了 LNMP 环境的镜像,并安装了 PDO、curl、fileinfo、openssl、memcache、memcached、redis、swoole、yaf、yar、amqp 等常用的扩展

 

二、使用

1、在本地安装docker,如果没有使用过docker可以参考

linux: https://www.haveyb.com/article/18⁠

mac :https://www.haveyb.com/article/244⁠

 

2、docker pull haveyb/lnmp

因为整个包的大小达到了3.99G,因此建议执行完这条命令后就可以去做别的事情了(大概会用5分钟左右时间)

 

3、创建容器

docker run -itd  --name lnmp --privileged haveyb/lnmp /usr/sbin/init

注:下面这行代码同样是创建容器,不同的是,在创建时,指定了将宿主机的 /data/lnmp 与 容器内的 /data 同步,并且做了3个端口的映射。

docker run -itd --name lnmp --privileged -p 6380:6379 -p 81:80 -p 3307:3306 -v /data/lnmp:/data haveyb/lnmp /usr/sbin/init

在docker中,进行端口的映射通过 -p 参数,可以在run时,指定多个 -p(端口映射)。

在docker中,进行文件目录的共享(映射)通过 -v 参数,同样可以在 run 时,指定多个 -v(文件映射)

在实际中,可能会这么用:

docker run -itd --name swoft-2 --privileged -p 6381:6379 -p 82:80 -p 3308:3306 -v /data/swoft-pay/swoft-2:/data --net haveyb-network --ip 172.10.1.2 haveyb/lnmp /usr/sbin/init  

 

4、进入容器

docker exec -it lnmp bash

  注:退出容器 exit

   

三、程序管理

1、Nginx 的管理:

systemctl status/start/stop/restart/reload nginx

站点的配置文件放在 /usr/local/nginx/conf.d 目录下

 

2、PHP 的管理

systemctl status/start/stop/restart/reload php-fpm

php.ini 文件位于/usr/local/php/etc/php.ini

phpize全局可用

 

3、MySQL 的管理

systemctl status/start/stop/restart/reload mysql

MySQL 数据文件、慢查询日志、错误日志位于 /usr/local/mysql/data 目录下

配置文件位于 /etc/my.cnf

初始密码:123456

--

注1:可以通过设置mysql错误日志级别 log_error_verbosity 来减少mysql错误日志的记录,默认是都记录,建议添加 log_error_verbosity = 1,即只记录error

注2:如果restart报错,则执行 chown -R mysql:mysql /usr/local/mysql/ (这个过程大约会用1分钟左右的时间),然后再restart

注3:注:如果你的云服务器配置没有到 2核cpu-4G内存,那很有可能会出现 mysql 重启失败 ,这是内存容量导致的。因此建议运行docker的云服务器配置不说太高,但是2核4G是最少的了。

云服务器可以和我一样,选购腾讯云的,主要是cpu性能不阉割,价格还便宜 。点击进入购买直通车腾讯云限时秒杀 ⁠

 

4、Redis 的管理

systemctl status/start/stop/restart/reload redis

conf配置文件位于 /etc/redis.conf,哨兵sentinel配置文件位于 /etc/redis-sentinel.conf

初始密码:haveyb

注:如果想通过外网连接redis,需要将redis.conf 中的 bind 参数修改为0.0.0.0

 

5、memcached 的管理

systemctl status/start/stop/restart/reload memcached 

 

四、Docker 使用过程中问题集锦:

1、Docker创建容器后并映射端口号后,navicat 远程连接mysql ⁠

2、Docker中使用git clone 报错 Could not resolve host: github.com; Unknown error⁠

3、进入容器后,没有clear指令

yum install ncurses

4、使用 composer

# 安装composer

yum -y install composer

# 配置composer国内镜像

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

 

@老迟笔记 https://www.haveyb.com⁠

Tag summary

Content type

Image

Digest

Size

1 GB

Last updated

over 6 years ago

docker pull haveyb/lnmp