zoukankan      html  css  js  c++  java
  • 在docker下面安装Nginx PHP mysql let's encrypt

    最近自己在弄了个Nginx PHP Mysql Let's encrypt的docker,下面记录一下

    1)先装 Let's encrypt

    docker run --rm -p 80:80 -p 443:443
    -v /etc/letsencrypt:/etc/letsencrypt
    quay.io/letsencrypt/letsencrypt auth
    --standalone -m myemail@domain.com --agree-tos
    -d domain.com

    -m 和 -d 分别填上自己的电邮和域名

    2)装上MySQL

    docker run --name=mysql1 -p 3306:3306 -p 33060:33060 -d mysql/mysql-server:5.7

    然后整理一下,先查出原始root的密码

    docker logs mysql1 2>&1 | grep GENERATED
    GENERATED ROOT PASSWORD: Axegh3kAJyDLaRuBemecis 
    这是root的原始密码

    然后登入进去改密码

    docker exec -it mysql1 bash

    mysql -u root -p'Axegh3kAJyDLaRuBemecis'

    进去后改密码

    mysql>use mysql;

    mysql>SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mypass');

    #创建一个新用户

    mysql>GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

    mysql>FLUSH PRIVILEGES;

    再退出,此时,外面可以访问MYSQL了

    3)装上nginx php

    试过过官方的nginx的docker 镜像,装PHP时特麻烦,用apt-get install php后都不能启动php-fpm 于是放弃

    试过用官方PHP的docker 镜像,如果纯PHP的docker容器启动不了,试过php-fpm的容器就装nginx后 nginx启动不了或者很麻烦

    以上我用了另外一个

    docker run --name my-apache-php-app -v /etc/letsencrypt:/etc/letsencrypt -d -p 12345:443 -p 9000:9000 richarvey/nginx-php-fpm:latest

    这个镜像很方便,安装后去 /etc/nginx/sites-available 改一下default-ssl.conf,见到配置文件已经把let's encrypt写好,只要把里面的域名改一下就可以,改好后把它复制到sites-enabled

    然后 /usr/local/etc/php,见到两份文件的,然后把php.ini-development  php.ini-production 其中一份复制成php.in 

    最后把自己网站复制到 /var/www/html下面

    4)最后把更新let's encrypt设为定时

    $crontab -e

    00 14 * * * docker run -it --rm -p 80:80 -p 443:443 -v /etc/letsencrypt:/etc/letsencrypt quay.io/letsencrypt/letsencrypt:latest renew --dry-run
    05 14 * * * docker restart my-apache-php-app
    05 14 * * * docker restart tomcat8

    完成

  • 相关阅读:
    安装pykeyboard模块
    Windows Defender Antivirus Service经常性出现占用CPU厉害
    Xpath 语法笔记
    通过docker部署rocketmq双主双从集群
    解决提取Mybatis多数据源公共组件“At least one base package must be specified”的问题
    设计模式-单例模式
    通过阳历生日计算星座,阴历生日,生辰八字,生肖五行
    设计模式-抽象工厂模式
    设计模式-工厂方法模式
    常用的MD5工具类
  • 原文地址:https://www.cnblogs.com/redmondfan/p/10320673.html
Copyright © 2011-2022 走看看