Compare commits

...

5 Commits

Author SHA1 Message Date
xiaoz ef467b254c fix bug 2 months ago
xiaoz d90ed04d13 fix bugs 2 months ago
xiaoz 81e46ce662 fix bug 2 months ago
xiaoz fb3c55ab0d fix bug 2 months ago
xiaoz ac9deb3ca7 一些优化 2 months ago
  1. 6
      .env.simple
  2. 5
      README.md
  3. 24
      dnmp.sh
  4. 58
      docker-compose.yaml

6
.env.simple

@ -1,4 +1,8 @@ @@ -1,4 +1,8 @@
# 运行用户,默认root用户,生产环境建议更改为其它普通用户
USER=root
# MySQL初始化密码,默认3306,运行前请修改为其它复杂密码
MYSQL_ROOT_PASSWORD=root3306
MYSQL_ROOT_PASSWORD=root3306
# 运行用户ID
USER_ID=0
# 运行用户组ID
GROUP_ID=0

5
README.md

@ -7,9 +7,7 @@ Learn more about how DNMP can streamline your development process and make your @@ -7,9 +7,7 @@ Learn more about how DNMP can streamline your development process and make your
```bash
git clone https://github.com/helloxz/dnmp.git
cd dnmp
bash dnmp.sh init
# install redis
bash dnmp.sh start redis
bash dnmp.sh run
# install phpmyadmin
bash dnmp.sh install runtime
bash dnmp.sh install phpmyadmin
@ -20,6 +18,5 @@ bash dnmp.sh install phpmyadmin @@ -20,6 +18,5 @@ bash dnmp.sh install phpmyadmin
```bash
# reload nginx config
docker exec -it nginx xc.sh reload
```

24
dnmp.sh

@ -225,9 +225,33 @@ install(){ @@ -225,9 +225,33 @@ install(){
}
# 运行服务
run(){
# 运行前检查
run_check
# 创建所需目录,并赋予权限
mkdir -p mysql/data
mkdir -p mysql/mysql-files
mkdir -p nginx/logs
mkdir -p nginx/ssl
mkdir -p php74/log
chown -R ${USER_ID}:${GROUP_ID} mysql
chown -R ${USER_ID}:${GROUP_ID} nginx
chown -R ${USER_ID}:${GROUP_ID} php74
# 运行docker-compose
docker-compose up -d
# 运行完成后,提示用户
echo '------------------------------------------------------'
echo "The dnmp service start success."
echo '------------------------------------------------------'
}
# 通过case判断用户输入的第一个参数,然后执行对应函数的动作
case $1 in
'run')
run
;;
'init')
init
;;

58
docker-compose.yaml

@ -0,0 +1,58 @@ @@ -0,0 +1,58 @@
services:
nginx:
image: helloz/nginx:alpine-1.24.0
container_name: nginx
network_mode: "host"
volumes:
- ./wwwroot:/var/www/html
- ./nginx/conf/nginx.conf:/usr/local/nginx/conf/nginx.conf
- ./nginx/conf/vhost:/usr/local/nginx/conf/vhost
- ./nginx/conf/stream:/usr/local/nginx/conf/stream
- ./nginx/logs:/usr/local/nginx/logs
- ./nginx/ssl:/usr/local/nginx/conf/ssl
restart: always
php-fpm:
image: helloz/php:7.4-fpm-alpine
network_mode: host
container_name: php-7.4
environment:
- USER_ID=${USER_ID}
- GROUP_ID=${GROUP_ID}
user: "${USER_ID}:${GROUP_ID}"
volumes:
- ./php74/www.conf:/usr/local/etc/php-fpm.d/www.conf
- ./php74/php.ini:/usr/local/etc/php/conf.d/php.ini
- ./php74/log:/usr/local/log
- ./wwwroot:/var/www/html
restart: on-failure
mysql:
image: mysql:8.0-debian
container_name: mysql8
# env_file: ./mysql/.env
restart: always
network_mode: host
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- USER_ID=${USER_ID}
- GROUP_ID=${GROUP_ID}
user: "${USER_ID}:${GROUP_ID}"
volumes:
- './mysql/data:/var/lib/mysql'
- './mysql/my.cnf:/etc/mysql/my.cnf'
- './mysql/mysql-files:/var/lib/mysql-files'
redis:
image: redis:6.2.6-alpine
container_name: redis
environment:
- USER_ID=${USER_ID}
- GROUP_ID=${GROUP_ID}
user: "${USER_ID}:${GROUP_ID}"
network_mode: "host"
restart: always
volumes:
- ./redis/data:/data
- ./redis/data/redis.conf:/data/redis.conf
command: ["redis-server", "/data/redis.conf"]
Loading…
Cancel
Save