由于工作需要,几乎每隔1-2年就要更新网站,因为都是用的轻量云,反应速度太慢,所以都要先在本地设计好,再迁移到服务器上,现记录过程以便日后重复使用。
准备工作
1、基于PVE的安装
2、更改ProxmoxVE的LXC仓库为国内源
3、建立PVE – CentOS容器
创建wordpress的LXC
更改LXC仓库源
首先,我们还是需要更改ProxmoxVE的LXC仓库为国内源的下载地址,不然龟速的下载,会让你怀疑人生。
SSH连接PVE,复制下面代码,并一起粘贴并输入回车运行。
grep -rn "download.proxmox.com" /usr/share/perl5/PVE/*
sed -i.bak "s#http://download.proxmox.com/images#https://mirrors.ustc.edu.cn/proxmox/images#g"
/usr/share/perl5/PVE/APLInfo.pm
wget -O /var/lib/pve-manager/apl-info/mirrors.ustc.edu.cn
https://mirrors.ustc.edu.cn/proxmox/images/aplinfo.dat
下载Centos7镜像文件
依次找到 “local – 内容 – 模板 ” 然后下载Centos7的镜像文件模板。
如图所示,在相应的地方点击去到模板下载页面,选择需要下载的模板,点击下载
创建CT
1、点击PVE右上角创建CT
2、输入密码和确认密码,为了方便辨识,主机名那里输入自定义名称,注意无特权容器那里的勾去掉
3、选择储存位置和系统模板
4、选择跟磁盘的位置和磁盘大小
5、选择CPU核心数,按实际需要选择,但不能超过物理核心数
6、选择内存大小,按实际需求选择,还是一样不能超过物理内存容量大小
7、填入静态IP地址和网关
8、直接到最后一步,完成CT的建立
设置 第三方SSH工具登录
运行刚才创建的的CT容器。我们转到控制台,输入刚才设置的密码。(用户名为root)
因为作者是不喜欢在控制台里面操作SSH,所以我们给他安装一个SSH连接工具,并设置允许第三方SSH工具登录。
登录控制台,首先更新源 yum -y update 然后安装 openssh-server。命令如下
yum install -y openssl openssh-server
修改配置文件 vi /etc/ssh/sshd_config ,把 #Port 22 前面的 #去掉,打开22端口,(当然你可以自定义)
然后一起贴入下面三行命令:
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
sed -i 's/PermitRootLogin no/PermitRootLogin yes/g' /etc/ssh/sshd_config
reboot
安装docker
输入以下命令
yum list docker-ce --showduplicates | sort -r
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun ##这里使用国内阿里云的源
完成后启动docker
systemctl start docker
查看docker的信息
systemctl status docker
安装数据库-mariadb
yum install mariadb-server mariadb
完成后启动mariadb
systemctl start mariadb
开机自动启mariadb
systemctl enable mariadb
查看mariadb版本
mysqladmin --version
设置mariadb管理账号和密码
mysqladmin -u root password "123456"; ##""里填入自己设置的密码
登录mariadb
mysql -u root -p
安装docker管理图形界面portainer
docker pull portainer/portainer-ce
下载完之后,运行
docker run -d --name portainerUI --restart always --privileged -p 9000:9000 -v /var/run/docker.sock:/var/ run/docker.sock portainer/portainer-ce
安装docker版wordpress
docker pull wordpress
下载完之后,运行
docker run --name test -p 8080:80 -d wordpress ##test为镜像运行时的名称
建立数据库
先查看数据库列表
show databases;
然后建立数据库
create database test; ##test为自命名数据库名称,可输入自己想要的名称为数据库名称
因为需要联通docker镜像与本地数据库,所以还需要输入以下命令
grant all privileges on *.* to 'root'@'172.17.0.3' identified by '123456' with grant option;
##'172.17.0.3'为docker镜像运行时所处的IP段,意思是让这个网段能通过该账号密码登录访问数据库
或者用以下命令,开启所有IP访问数据库
grant all privileges on *.* to 'root'@'%' identified by '123456';
刷新设置
flush privileges;
要是觉得自己建立的数据库出问题了,或者名字输入错误了,可以删除数据库
drop database test;
设置wordpress
输入TC的IP:8080,就可以访问wordpress后台了,
这里是填写内容注意的地方
之后按图所示操作,填入相关信息
至此,wordpress安装成功。
docker版本的wordpress操作中的注意事项
wordpress如果要上传安装主题或者插件,有文件大小限制,这个时候,需要修改php相关参数才能上传,具体要修改哪里,可以在网上翻阅,这里上传一个基本上能满足所有插件运行的php.ini文件,直接拷贝进镜像就可以消除这个限制了。
因为是镜像,所以对其内部文件需要操作的话,就要使用docker的命令
先查看镜像的CONTAINER ID
docker ps
然后把php.ini文件拷贝到镜像内
docker cp /mnt/php.ini bb411e5594c8:/usr/local/etc/php ##bb411e5594c8为镜像的CONTAINER ID,docker cp为docker的拷贝命令,剩余部分是文件的路径
完成后,需要重启一下镜像
docker restart test