All Projects → metowolf → Docker Lemp

metowolf / Docker Lemp

🐳 Docker 快速搭建 LEMP 开发环境

Projects that are alternatives of or similar to Docker Lemp

Oneinstack
OneinStack - A PHP/JAVA Deployment Tool
Stars: ✭ 1,983 (+2179.31%)
Mutual labels:  mysql, redis, lemp, lnmp, nginx
Lnmp
LEMP stack/LAMP stack/LNMP stack installation scripts for CentOS/Redhat Debian and Ubuntu
Stars: ✭ 2,488 (+2759.77%)
Mutual labels:  mysql, redis, lemp, lnmp, nginx
Slickstack
SlickStack is a free LEMP stack automation script written in Bash designed to enhance and simplify WordPress provisioning, performance, and security.
Stars: ✭ 311 (+257.47%)
Mutual labels:  mysql, lemp, lnmp, nginx
Devilbox
A modern Docker LAMP stack and MEAN stack for local development
Stars: ✭ 3,598 (+4035.63%)
Mutual labels:  mysql, redis, lemp, nginx
Lnmp
LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Aliyun/Amazon、Debian/Ubuntu/Raspbian/Deepin/Mint Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境的Shell程序。
Stars: ✭ 2,119 (+2335.63%)
Mutual labels:  mysql, lemp, lnmp, nginx
Reading
整理阅读过的干货文章, 帖子
Stars: ✭ 318 (+265.52%)
Mutual labels:  mysql, redis, nginx
Stacker
Stacker - The environment for local web development, ready for use.
Stars: ✭ 356 (+309.2%)
Mutual labels:  mysql, redis, nginx
Full Stack Notes
全栈工程师手册
Stars: ✭ 366 (+320.69%)
Mutual labels:  mysql, redis, nginx
Centminmod
CentOS Shell menu based Nginx LEMP web stack auto installer (GPLv3 licensed)
Stars: ✭ 519 (+496.55%)
Mutual labels:  lemp, lnmp, nginx
Webinoly
Optimized LEMP Web Server to manage your WordPress, PHP, or simple HTML sites running on a powerful NGINX setup.
Stars: ✭ 254 (+191.95%)
Mutual labels:  mysql, lemp, nginx
Notebook
🍎 笔记本
Stars: ✭ 381 (+337.93%)
Mutual labels:  mysql, redis, nginx
Blog
Jiajun的编程随想
Stars: ✭ 528 (+506.9%)
Mutual labels:  mysql, redis, nginx
Awesome Programming Books
📚 经典技术书籍推荐,持续更新...
Stars: ✭ 3,472 (+3890.8%)
Mutual labels:  mysql, redis, nginx
Lnmp
Support: Nginx 1.12/1.13 + MySQL 5.5/5.6/5.7/8.0(MariaDB 5.5/10.0/10.1/10.2/10.3) + PHP 5.4/5.5/5.6/7.0/7.1/7.2 + phpMyAdmin(Adminer)
Stars: ✭ 262 (+201.15%)
Mutual labels:  mysql, lnmp, nginx
Springbootunity
rabbitmq、redis、scheduled、socket、mongodb、Swagger2、spring data jpa、Thymeleaf、freemarker etc. (muti module spring boot project) (with spring boot framework,different bussiness scence with different technology。)
Stars: ✭ 845 (+871.26%)
Mutual labels:  mysql, redis, nginx
Shell
Infrastructure Management Shell - Linux
Stars: ✭ 381 (+337.93%)
Mutual labels:  mysql, redis, nginx
Php Interview
PHP后端开发面试指南。
Stars: ✭ 26 (-70.11%)
Mutual labels:  mysql, redis, nginx
Netkiller.github.io
Netkiller Free ebook - 免费电子书
Stars: ✭ 861 (+889.66%)
Mutual labels:  mysql, redis, nginx
Phalcon Vm
Vagrant configuration for PHP7, Phalcon 3.x and Zephir development.
Stars: ✭ 43 (-50.57%)
Mutual labels:  mysql, redis, nginx
Docker Lnmp
🐋Docker-compose(Linux,Nginx,MySQL,PHP7,Redis)
Stars: ✭ 244 (+180.46%)
Mutual labels:  mysql, redis, nginx

Docker LEMP

name pulls version layers image size
metowolf/php Pulls Count GitHub release (latest by date) Layers image size
metowolf/nginx Pulls Count GitHub release (latest by date)
mysql/mysql-server Pulls Count
library/redis Pulls Count
phpmyadmin/phpmyadmin Pulls Count

Requirements

Install Docker and Compose

Usage

  1. Clone docker-lemp inside your project
git clone https://github.com/metowolf/docker-lemp.git
  1. Enter the docker-lemp folder and rename .env.example to .env.
cd docker-lemp
cp .env.example .env
cp docker-compose.example.yml docker-compose.yml
  1. Open your project’s .env file and set the following:
MYSQL_ROOT_PASSWORD=your_password
  1. Run your containers:
docker-compose up -d

Running QUIC

The following configuration file can be used as a starting point to enable HTTP/3 support:

http {
    server {
        # Enable QUIC, HTTP/3 and HTTP/2 on both IPv4 and IPv6.
        listen 443 ssl http2;
        listen 443 quic;
        listen [::]:443 ssl http2;
        listen [::]:443 quic;

        ssl_certificate      cert.crt;
        ssl_certificate_key  cert.key;

        # Add HSTS header
        add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

        # Add Alt-Svc header to negotiate HTTP/3.
        add_header alt-svc 'h3-23=":443"; ma=86400';

        # Enable specific TLS versions (TLSv1 and TLSv1.1 are not longer saft, TLSv1.3 is required for QUIC).
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers TLS-CHACHA20-POLY1305-SHA256:TLS-AES-256-GCM-SHA384:TLS-AES-128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256;
        ssl_prefer_server_ciphers on;
        ssl_early_data on;
    }
}

Running brotli

  1. Add the following lines into the configuration file of your sites to enable brotli feature:
brotli on;
brotli_comp_level 6;
brotli_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml;

Generally Upgrade

  1. Modify project’s .env file.
vim .env
  1. Rebuild containers:
docker-compose up -d --no-deps --build

Upgrade to Caddyless version

Before git pull

  1. Rename conflicted file if exists:
mv etc/nginx/nginx.conf etc/nginx/nginx.conf.bak

After git pull

  1. Modify project’s .env file.
vim .env
  1. Move Nginx/MySQL/SSL configuration to new directory:
# move nginx configuration
mv etc/nginx/config/* etc/nginx/conf.d/

# move MySQL configuration
rm -fr etc/mysql && mkdir etc/mysql && mkdir etc/mysql/my.cnf.d
mv etc/database/data etc/mysql && mv etc/database/config/* etc/mysql/my.cnf.d

# move SSL configuration
mv etc/ssl etc/nginx
  1. Rebuild containers and remove the Caddy container:
docker-compose up -d --no-deps --build --remove-orphans
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].