本文是考虑安全问题,使用docker容器搭建宝塔与lanproxy,开始是直接在服务上搭建的宝塔,后来因为安全原因就又重新装系统,这次记录下创建的整个过程。
准备:安装好php,nginx,mysql,
因为,后面使用wordpress搭建个人博客时要用80端口,但ngnix也使用80端口,会引起冲突。
为了使访问博客方便,决定修改ngnix的默认端口。
若使用yum安装的ngnix,配置文件路径是:
/etc/nginx/nginx.conf
把80改为自己好记得端口号既可。并且在服务器防火墙开放相应的端口。
在server{中添加如下代码:使服务器可以访问php文件
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
重新启动:systemctl restart nginx
记住一句话:权限越大,风险越大。权限足够用就行。
为下面安装wordpress创建一个用户,及数据库。
使用root账户进入数据库
1,创建用户
use mysql;
create user '用户名'@'%' identified by '密码';#'%'表示所有ip都可访问
2,赋予权限
grant usage on *.* to 'zc'@'%' with grant option;
create database wordpress;
#数据库名为wordpress
授权格式:grant 权限 on 数据库. to 用户名@登录主机 identified by “密码” WITH GRANT OPTION;*
授权本地访问: GRANT ALL PRIVILEGES ON wordpress.* TO blog(修改成自己的用户名)@'localhost' IDENTIFIED BY '密码';
授权远程登录执行:GRANT ALL PRIVILEGES ON wordpress.* TO blog(修改成自己的用户名)@’%’ IDENTIFIED BY ‘密码’;
刷新系统权限表:**flush privileges;**
grant select,update on blog.* to blog@localhost identified by ‘密码’;
flush privileges; //刷新系统权限表
2.5 授权test用户拥有所有数据库的某些权限:
mysql>grant select,delete,update,create,drop on . to test@"%" identified by “1234”;
//test用户对所有数据库都有select,delete,update,create,drop 权限。
//@"%" 表示对所有非本地主机授权,不包括localhost。(localhost地址设为127.0.0.1,如果设为真实的本地地址,不知道是否可以,没有验证。)
//对localhost授权:加上一句grant all privileges on testDB.* to test@localhost identified by ‘1234’;即可。
因为
使用的镜像是
所以系统自带docker,没有安装的使用下面命令
yum update
yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
yum install # 例如:sudo yum install docker-ce-18.03.1.ce
6,启动并加入开机自启
sudo systemctl start docker sudo systemctl enable docker
docker run -d --name wordpress \
-e WORDPRESS_DB_HOST=118.31.1.1:3306\
-e WORDPRESS_DB_USER=数据库用户名 \
-e WORDPRESS_DB_PASSWORD=数据库密码 \
-e WORDPRESS_DB_NAME=wordpress \
-p 80:80 \
--restart=always \
wordpress
参数说明:
然后就直接访问IP地址就进入wordpress进行部署。
主题有在线的,也可以在别处下载直接传到容器的路径里;
/var/www/html/wp-content/themes
通过命令:docker cp 宿主机本地路径 容器名字/ID:容器路径
docker cp /root/123.txt wordpress:/var/www/html/wp-content/themes
当你注册,填写好信息后会发现左上角的头像显示不出来,不太美观
1,点击插件里的安装插件
2,搜索:Simple Local Avatars 进行安装
3,点击插件->已安装插件
点击未启用列表,启动相对应的插件
3,点击用户->个人资料
往下滑,上传头像既可。
docker ps#查看运行的容器
docker ps -a#查看所有容器
docker exec -it 容器id或者名字 /bin/bash#(这里也可以直接用 bash)
退出容器命令:exit
docker rm 容器名字或id
但这个命令只是删除容器,一些配置还没有删除所以需要知道下面的命令
docker system prune 可对空间进行自动清理。
该命令所清理的对象如下:
已停止的容器
未被任何容器使用的卷
未被任何容器所关联的网络
所有悬空的镜像
docker volume prune:删除无用的卷。
docker network prune:删除无用的网络