ubuntu搭建博客系统
目录
mysql容器跑起来
配置nodejs和vue环境
找个程序跑起来
先跑起来koa这个服务端xzzblog-server
再跑第一个vue前端项目xzzblog-web
跑后台服务xzzblog-admin
docker环境准备
#安装docker依赖配置docker基础环境并设置开机自启动
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt install docker-ce
sudo systemctl enable docker
sudo systemctl start docker
#配置国内源
mkdir -p /etc/docker && sudo vi /etc/docker/daemon.json
{
"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}
sudo systemctl daemon-reload
sudo systemctl start docker
#配置docker命令免sudo 重启服务器生效
sudo groupadd docker
sudo usermod -aG docker $USER
mysql容器跑起来
docker pull mysql:8.0.16
#注意先创建好挂载目录和my.cnf文件,下边会给出基本配置
#docker run -d mysql:latest 以后台的方式运行 mysql 版本的镜像,生成一个容器。
# --name mysql 容器名为 mysql
# -e MYSQL_ROOT_PASSWORD=123456 设置登陆密码为 123456,登陆用户为 root
# -p 3306:3306 将容器内部 3306 端口映射到 主机的 3306 端口,即通过 主机的 3306 可以访问容器的 3306 端口
# -v /usr/mydata/mysql/log:/var/log/mysql 将容器的 日志文件夹 挂载到 主机的相应位置
# -v /usr/mydata/mysql/data:/var/lib/mysql 将容器的 数据文件夹 挂载到 主机的相应位置
# -v /usr/mydata/mysql/conf:/etc/mysql/conf.d 将容器的 自定义配置文件夹 挂载到主机的相应位置
docker run --privileged=true --name mysql8 -p 3306:3306 -v /Users/wenbronk/Containers/Data/mysql/data:/var/lib/mysql -v /Users/wenbronk/Containers/Data/mysql/log:/var/log/mysql -v /Users/wenbronk/Containers/Data/mysql/my.cnf:/etc/mysql/my.cnf:rw -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.16
my.cnf:
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=1000
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
设置mysql权限允许外部访问
mysql -u root -p
use mysql;
grant all privileges on *.* to 'root'@'%';
alter user 'root'@'%' identified with mysql_native_password by '123456';
FLUSH PRIVILEGES;
这里很奇怪,我自己的本地服务器没问题,但是云服务器第一次是ubuntu18.04裸装docker后启动的mysql容器,telnet 127.0.0.1 3306没问题,但是telnet ip 3306 连接不上,后来重装了ubuntu20.04+docker系统后跑mysql容器没问题navcat可以访问了,云服务器客服也没能解答为何如此。
配置nodejs和vue环境
sudo apt-get install nodejs
nodejs -v
sudo apt-get install npm
sudo npm config set registry https://registry.npm.taobao.org
sudo npm install cnpm -g
sudo cnpm install -g vue-cli
vue -V
sudo cnpm install -g koa-generator
找个程序跑起来
找了一个不错的项目: GitHub - zxb1655/xzzblog: node+mysql,vue+elementUI,uniapp小猪猪全套完整博客系统,全栈前后端分离,移动端小程序H5
他这里是四个单独的服务:
先跑起来koa这个服务端xzzblog-server
先切换到koa server目录下:
这里用到了ali-oss ,需要登录阿里云账号后,查看: https://ak-console.aliyun.com/#/accesskey 即可拿到accessKeySecret 和 accessKeyId,配置到./config/index.js,另外不要忘了改数据库配置:
然后下载包并启动
yarn install
node myblog.js
服务端跑起来是这样:
再跑第一个vue前端项目xzzblog-web
这个目录结构是 vue init 出来的,需要先下载依赖包再跑,先切换到这个前端项目根目录:
cnpm install #或 yarn install
npm run dev
web前端跑起来是这样:
怎么验证server起作用了呢,因为我是VScode远程服务器跑起来上边web服务的,会自动在我本地浏览器弹出主页面,如果server没有成功启动那么里边是没数据的。
跑后台服务xzzblog-admin
yarn install
yarn run dev
成功日志这样:
页面:
uniapp服务没跑,后续补充。。
RayChiu_Labloy: 时间比较久了,我也记不清楚了,找找会议主办方联系方式,问问那边的老师
CC_i: 这个代码可以在yolov8中使用吗?
Swirb: 您好,我想我问一下您是在哪里找到投稿的地方的,我在SPIE找不到我的会议
Swirb: 请问投稿界面在哪,我找不到我的会议
RayChiu_Labloy: 现成的,不用自己写