翼度科技»论坛 云主机 LINUX 查看内容

Ubuntu使用docker部署gitee上个人博客solo项目

3

主题

3

帖子

9

积分

新手上路

Rank: 1

积分
9
使用云服务器 Ubuntu20.04 LTS
1.安装docker
  1. # 输入docker提示docker安装语句
  2. apt install docker.io
  3. # 从Docker Hub中拉取最新项目镜像
  4. docker pull b3log/solo
复制代码
2.安装mysql
  1. # 使用以下命令将安装mysql及mysql依赖包
  2. apt install mysql-server
复制代码
3.创建数据库
  1. // 登陆数据库 密码为空
  2. mysql -uroot -p
  3. // 创建solo数据库
  4. create database solo default character set utf8mb4 collate utf8mb4_general_ci;
  5. // 创建用户
  6. create user 'root'@'127.0.0.1' identified by '123456';
  7. // 赋予新创建的用户权限
  8. grant all privileges on *.* to 'root'@'127.0.0.1';
  9. // 刷新
  10. flush privileges;
复制代码
4.启动容器
  1. # 根据mysql创建的用户名和密码填入username和password中
  2. docker run --detach --name solo --network=host \
  3.     --env RUNTIME_DB="MYSQL" \
  4.     --env JDBC_USERNAME="root" \
  5.     --env JDBC_PASSWORD="123456" \
  6.     --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
  7.     --env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true" \
  8.     b3log/solo --listen_port=8080 --server_scheme=http --server_host=localhost --server_port=
复制代码
正常情况下在浏览器直接输入服务器地址加上端口就能访问了
天翼云服务器的80、8080、443端口需要备案才能访问,可以在启动容器时将监听端口直接换成80、8080、443端口之外的宽口,比如8081,就能通过服务器地址结合端口访问了;或者使用nginx反代将8080端口转到服务器的8081端口
5.使用nginx反代保证服务器的安全性

nginx反代就是将外界访问的80端口转到服务器的8080端口
  1. # 安装nginx
  2. apt install nginx
  3. # 配置solo.conf配置文件
  4. vim /etc/nginx/conf.d/solo.conf
复制代码
将以下nginx反代内容写进配置文件
  1. upstream backend {
  2.     server localhost:8080; # Solo 监听端口
  3. }
  4. server {
  5.     listen       8081; # 一般可以使用80端口实现直接访问
  6.     server_name  182.43.186.137; # 博客域名,没有就填写服务器地址
  7.     access_log off;
  8.     location / {
  9.         proxy_pass http://backend$request_uri;
  10.         proxy_set_header  Host $http_host;
  11.         proxy_set_header  X-Real-IP $remote_addr;
  12.         client_max_body_size  10m;
  13.     }
  14. }
复制代码
  1. # 刷新nginx
  2. systemctl reload nginx
复制代码
到这步nginx反代就算部署完成,可以访问了
6.因为网页静态资源太多 带宽可能承受不住 在docker上使用动静分离 静态资源从cdn上加载
  1. # 查看docker容器列表
  2. docker ps
  3. # 先停掉并删除这个docker 停掉docker不会影响mysql数据库中数据 使用h2database需要注意
  4. docker stop
  5. docker rm solo
  6. # 重新启动容器并在后面添加相应代码
复制代码
来源:https://www.cnblogs.com/isrhino/p/17208071.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具