要想在公网访问你的博客,首先你需要一台云服务器,也就是租用各大云厂商的服务器,像我就是花68块买了一年青云的1核2G的服务器,你现在看到的博客就是在这台服务器上,最好也购买一个专属的域名。一年十几就够了。
因为我们是用Docker部署solo博客。所以我们首先要安装docker,关于docker的介绍请各位同学自行百度。
配置yum源
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
启动
systemctl enable docker --now
配置加速
这里额外添加了docker的生产环境核心配置cgroup
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
测试:
输入 docker version 看到如下显示就安装成功了
我们前面已经安装了docker,这里我们直接用命令一键部署mysql数据库(笔者部署的主从的mysql)
如果嫌麻烦可以只搭建一台数据库,不做主从分离,网上的教程有很多
mkdir -p /data/master/data/mysql-master && mkdir -p /data/master/data/mysql-slave ##数据目录
mkdir -p /data/master/master && mkdir -p /data/master/slave ##配置目录
往配置目录分别放两个配置文件,master.cnf slave.cnf 内容分别如下:
[[email protected] master]# cat master/master.cnf
[mysqld]
log-bin=mysql-bin
binlog_format=row
server-id=1
log-error=/var/log/mysqld.log
[[email protected] master]# cat slave/slave.cnf
[mysqld]
log-bin=mysql-bin
binlog_format=row
server-id=2
log-error=/var/log/mysqld.log
注意:这里的密码设置为123456,将mysql的默认数据存放目录映射给了我的/data/master/data
docker run -itd --name mysql-master -v /data/master/data/mysql-master:/var/lib/mysql -v /data/master/master:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.6
docker run -itd --name mysql-slave -v /data/master/data/mysql-slave:/var/lib/mysql -v /data/master/slave:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -p 3316:3306 mysql:5.6
docker ps -a ## 查看两个mysql数据库的状态是否都是UP
docker exec -it mysql-master /bin/bash
mysql -u root -p123456 ## 登陆mysql
show variables like 'log_bin'; ##查看bin-log的开启状态,如果是ON代表开启成功,我们主从同步是一定要开binlog
show master status; ## 查询出的file名字与 Position要记一下,后面配置从库会用到
## 创建用户并赋权
CREATE USER 'bakup'@'%' IDENTIFIED BY '123456';
GRANT ALL ON *.* TO 'bakup'@'%';
create database solo;
docker exec -it mysql-slave /bin/bash ## 进入从库
mysql -u root -p123456 ## 登陆mysql
change master to master_host='192.168.1.5', master_port=3306,master_user='bakup',master_password='bakup', master_log_file='mysql-bin.000001',master_log_pos=154; ##配置主从连接
start slave; ## 启动从库备份
show slave status\G; ##查看状态
看到两个YES大功告成!
master_host:主库的IP地址/服务器地址
master_port:主库的端口
master_user:主库开放出来的用户
master_password:用户的密码
master_log_file:主库的日志文件,二进制日志文件,进行同步的。就是上面show master status 里面的File
master_log_pos:上面show master status 里面的Position
前面的准备工作都做完后,就可以开始安装solo了
docker 启动solo
注:命令中jdbc参数填的是我的数据库连接地址,需要根据自身环境修改地址
docker run --detach --name solo --env RUNTIME_DB="MYSQL" --env JDBC_USERNAME="root" --env JDBC_PASSWORD="123456" --publish 8080:8080 --link mysql-master:mysql-master --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" --env JDBC_URL="jdbc:mysql://192.168.1.5:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" b3log/solo --listen_port=8080 --server_scheme=http --server_host=localhost --server_port=8080
docker logs solo ## 查看容器solo的日志
[INFO ]-[2021-11-12 18:30:32]-[org.b3log.solo.Server:254]: Solo is booting [ver=4.3.1, os=Linux, isDocker=true, inJar=false, luteAvailable=false, pid=1, runtimeDatabase=MYSQL, runtimeMode=PRODUCTION, jdbc.username=root, jdbc.URL=jdbc:mysql://192.168.1.5:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC]
[INFO ]-[2021-11-12 18:30:34]-[org.b3log.solo.service.InitService:177]: It's your first time setup Solo, initialize tables in database [MYSQL]
[WARN ]-[2021-11-12 18:30:36]-[org.b3log.solo.service.InitService:150]: Solo has not been initialized, please open your browser to init Solo
当出现Solo has not been initialized, please open your browser to init Solo,代表solo安装成功,但是未进行初始化,可以看到我们前面启动的端口是8080,我们用域名加端口感觉很low,所以我们用nginx去转发一下。
关于nginx的安装,在这里就不在赘述,同学们可以去百度一哈
上配置文件:
http {
sendfile on;
include mime.types;
default_type application/octet-stream;
keepalive_timeout 65;
gzip on;
upstream backend {
server localhost:8080;
}
server {
listen 80;
server_name yunxue521.top;
location / {
proxy_pass http://backend$request_uri;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
}
}
可以看到我们定义了一个backend的地址指向我们本机的8080端口,nginx监听80端口,当我们去访问80端口时,就会都转发到8080端口,进而实现端口的转发!
今天正常的导压缩文件,发现一个问题,当数量据大点时,比如我的表有25万个字时,就提示我解压失败后来我慢慢排查,我放删除临时文件的代码注释掉,让程序生成临时文件。发现,临时文件只有65kb,且是可以解压力成功的。(浏览器下载同一个zip包有211kb)后来我又百度许久,网上都说需要加ob_clean();flush();以便把缓存区的数据,制刷到浏览器,但我代码里也加了后来我去百度了下php的缓存机制(以下这段,摘至网上)buffer是一个内存地址空间,Linux系
QBrush简介QBrush类定义由QPainter绘制的形状的填充图案。一个画刷可以有颜色,填充图案,渐变和纹理属性。样式填充使用Qt.BrushStyle枚举变量定义填充图案。默认的填充样式为Qt.NoBrush,在这种样式下表示不填充所画的物体。标准填充样式为Qt.SolidPattern。可以在创建画刷对象是时候设置填充模式,也可以在创建对象后使用setSyle()函数来设置或者更改填充样式。下图显示了Qt中定义的填充模式QBrush各种填充样式(图片来源:doc.qt.io)c
2019独角兽企业重金招聘Python工程师标准>>> ...
直接进入正题一.Mmdetection2.6的windows环境安装与测试二.Mmdetection的训练与测试Mmdetection的2.1,2.2,2.3的配置windows都不行,2.6可以很方便的配置。前提:CUDA需求10.1(首先要装CUDA),vs2017整个都要装以及anaconda的环境变量一.Mmdetection2.6的windows环境安装与测试① 安装pytorch及虚拟环境conda create -n mmd26 python=3.7conda activate
jax_ws 通常,利用图表提供数据的可视表示很有用。 PrimeFaces提供制图解决方案,使您可以轻松地将数据的可视表示形式添加到Web和移动应用程序中。 如果我们将PrimeFaces图表组件的使用与RESTful Web服务数据结合在一起,我们可以创建自定义图表,以适合台式机和移动设备。 在本文中,我将更新Java EE 7动手练习MoviePlex应用程序,以提供一个仪表板,我们可以...
x264的码率控制--vbv-bufsize Set size of the VBV buffer (kbit) [0]默认:0说明:设置VBV可用的最大缓冲区,单位是kbits。VBV(Video Buffering Verifier,视频缓存检验器),它作用是处理各帧编码后大小不一和恒定输出码率的矛盾。可以将VBV想象成为一个水池,水池的入口连接着encoder的输出,出口为恒定
OpenCV----Open Source Computer Vision Library,是一个跨平台的计算机视觉库,由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序。该程序库也可以使用英特尔公司的IPP进行加速处理。
缘起线上有Tomcat升级到7.0.52版,然后有应用的JVM FullGC变频繁,在高峰期socket连接数,Cpu使用率都暴增。思路思路是Tomcat本身的代码应该是没有问题的,有问题的可能是应用代码升级,或者环境改变了,总之Tomcat的优先级排在最后。先把应用的heap dump下来分析下:jmap -dump:format=b,file=path pid用IBM的Heap Analyse...
PHP入门训练PHP开发相关软件下载下载官网注意:适用于PHP初学者的学习线路和建议PHP初学者的学习线路:1. 熟悉HTML/CSS/JS等网页基本元素,完成阶段可自行制作简单的网页,对元素属性相对熟悉。2. 理解动态语言的概念和运做机制,熟悉基本的PHP语法。3. 学习如何将PHP与HTML结合起来,完成简单的动态页面。4. 接触学习MySQL,开始设计数据库。5. 不断巩固PHP语法,熟悉大...
配置文件# REDIS (RedisProperties)# Redis数据库索引(默认为0)spring.redis.database=16# Redis服务器地址spring.redis.host=127.0.0.1# Redis服务器连接端口spring.redis.port=6379# Redis服务器连接密码(默认为空)spring.redis.password=...
1、Android Studio -》src-》main-》assets-》data-》dcloud_control.xml添加 debug=“true” syncDebug=“true”
点击左上方蓝字关注我们开源的开放性使得诸多的开发者可以加入其中,自2016年开源以来,飞桨一直致力于建设开源开放的开发者社区,也正是有了众多contributor们的加入,飞桨社区得以不断...