搭建博客步骤

一、安装php

1.创建目录
mkdir  -p  /home/wyt/docker_data/php
php配置目录
mkdir  -p  /home/wyt/docker_data/mysql
mysql配置目录
mkdir  -p  /home/wyt/docker_data/nginx
nginx配置目录
mkdir  -p  /home/wyt/docker_data/www
网页
2.下载镜像
docker  pull  php:7.3.0-fpm              貌似7.3的改动比较大,现在有些程序兼容性不好,暂时不要用这个版本
docker  pull  php:7.2.13-fpm
3.搞个php的配置文件:运行一个容器从里面拷完需要的文件然后删除这个容器
docker  run  --name  php_test   -d  php:7.2.13-fpm
docker  cp   php_test:/usr/local/etc/php/php.ini-production   /home/wyt/docker_data/php/php.ini.orig
cp  /home/wyt/docker_data/php/php.ini.orig   /home/wyt/docker_data/php/php.ini
docker  rm  php_test  -f
4.运行容器
docker  run   -d   --name  php    -v  /home/wyt/docker_data/www:/var/www/html   -v   /home/wyt/docker_data/php/php.ini:/usr/local/etc/php/conf.d/php.ini    php:7.2.13-fpm
5.配置容器【重要】
主机的文件:/home/wyt/docker_data/www  文件权限是wyt:wyt
容器的文件:/var/www/html  通过ls命令查看,文件权限是1000:1000
docker exec -it php /bin/bash
容器内执行:
usermod    -u   1000   www-data
groupmod  -g   1000   www-data
改完了:
docker restart php
6.php安装数据库相关插件【重要】
docker exec -it php /bin/bash
容器内执行:
pecl  install  mongodb
docker-php-ext-install mysqli
docker-php-ext-install pdo pdo_mysql
退出容器,修改本机文件:/home/wyt/docker_data/php/php.ini,最后面增加一行【pecl 安装的才需要手动改php.ini】:
extension=mongodb.so
docker restart php
7.安装gd插件,容器内执行下面指令【重要】
apt update && apt install libpng-dev libjpeg-dev libfreetype6 libfreetype6-dev
docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
docker-php-ext-install gd
docker restart php
8.测试
host上:在/home/wyt/docker_data/www建立一个文件,phpinfotest.php, 内容:
<?php
phpinfo();
echo "hello, world!\n";
?>
docker内部执行指令:
docker  exec  -it  php  bash
php  /var/www/html/phpinfotest.php



二、安装mysql【因为用的sqlite3,这一步可以忽略掉】

1.下载镜像
docker  pull  mysql:8.0.13      【这个版本和之前的mysql5语法有不兼容的地方,玩不转,暂时不用】
docker  pull  mysql:5.7.24
2.创建容器
docker  run  -d  --name  mysql  -p  3306:3306  -e  MYSQL_ROOT_PASSWORD=111111  -v  /home/wyt/docker_data/mysql/:/var/lib/mysql   -d  mysql:5.7.24
说明:上面的密码MYSQL_ROOT_PASSWORD只是初始密码,可以更改
3.更改密码
使用Navicat Premium更改root密码,注意要修改两个用户的密码:root@% 和root@localhost,修改完后测试:
(1) Navicat Premium重新远程连接测试
(2) 命令行连接测试
docker exec -it db_mysql bash
mysql -uroot -p


三、安装nginx

1.下载镜像
docker  pull  nginx:1.15.7


2.搞个nginx的配置文件:运行一个容器从里面拷完需要的文件然后删除这个容器
【官网建议的是拷贝/etc/nginx/nginx.conf, 我个人推荐拷贝整个/etc/nginx,然后备份一个,如下】
docker  run  --name  mynginx_test   -d  nginx:1.15.7
docker  cp  mynginx_test:/etc/nginx                                  /home/wyt/docker_data
docker  rm  mynginx_test  -f
cp  /home/wyt/docker_data/nginx  /home/wyt/docker_data/nginx.orig  -fr


3.创建容器
docker  run   -d   --name  nginx  -p  80:80   -v  /home/wyt/docker_data/www:/usr/share/nginx/html   -v  /home/wyt/docker_data/nginx:/etc/nginx    nginx:1.15.7
4.组建网络【重要】
docker  network   create      webnet
docker  network   connect   webnet   php            --alias    php
docker  network   connect   webnet   mysql        --alias    mysql
docker  network   connect   webnet   nginx         --alias    nginx
docker  network   inspect    webnet
5.编辑文件:/home/wyt/docker_data/nginx/conf.d/default.conf


1.png



或者把以下的文本抄过去:
    location /news {
        proxy_pass http://101.200.50.71:65098/news;
    }

    location ~ .*\.php(\/.*)*$ {
        set $path_info "";
        set $real_script_name $fastcgi_script_name;
        if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
            set $real_script_name $1;
            set $path_info $2;
        }
        fastcgi_param SCRIPT_NAME $real_script_name;
        fastcgi_param PATH_INFO $path_info;

        fastcgi_pass php:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
        #fastcgi_param PATH_INFO $fastcgi_path_info;
        include fastcgi_params;
    }
说明:
(1)rewrite是伪静态,好像有问题,暂时注释掉
(2)location是支持pathinfo
(3)里面php:9000的意思是在dns里面找php服务器,已经在docker connect里面做了
6.测试


四、安装zblogphp

注意:php只能用7.2版本,不能用更高的
备份:zb_users文件夹下的:c_option.php,  data/,  upload/
1.管理员账号:admin/j...g
2.设置:分类管理里面添加需要的分类和子分类,标签管理里面也添加,
3.主题:默认

4.插件:安装‘RSS Feed 优化插件’,这个插件的设置:文章条数设置20, 其它的全部delete或者disable;

  下载插件Neditor编辑器【默认设置,需要先关闭UEditor编辑器】

5.修改zb_users/theme/default/style/default.css,找到div.post-body td,th,增加一行:border: solid 1px #000;

6.修改zb_system/function/lib/validatecode.php文件,如下【完成后需要"清空缓存并重新编译模板"】:

2.png



发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

静思围棋版权所有©2019,鄂ICP备18006581号-1,18006581号-2,