0
点赞
收藏
分享

微信扫一扫

ubuntu搭建博客系统

少_游 2022-03-16 阅读 63

目录

docker环境准备

mysql容器跑起来

配置nodejs和vue环境

找个程序跑起来

 先跑第一个vue前端项目

跑起来koa这个server服务


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

他这里是四个单独的服务:

 先跑第一个vue前端项目

 这个目录结构是 vue init 出来的,需要先下载依赖包再跑,先切换到这个前端项目根目录:

cnpm install
npm run dev

跑起来koa这个server服务

先切换到koa server目录下:

 这里用到了ali-oss ,需要登录阿里云账号后,查看:https://ak-console.aliyun.com/#/accesskey 即可拿到accessKeySecret 和 accessKeyId

npm install
node myblog.js

举报

相关推荐

0 条评论