首页 > 系统相关 >Ubuntu使用docker部署gitee上个人博客solo项目

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

时间:2023-03-29 18:11:07浏览次数:38  
标签:solo -- mysql 端口 gitee nginx Ubuntu docker

使用云服务器 Ubuntu20.04 LTS

1.安装docker

# 输入docker提示docker安装语句
apt install docker.io
# 从Docker Hub中拉取最新项目镜像
docker pull b3log/solo

2.安装mysql

# 使用以下命令将安装mysql及mysql依赖包
apt install mysql-server

3.创建数据库

// 登陆数据库 密码为空
mysql -uroot -p
// 创建solo数据库
create database solo default character set utf8mb4 collate utf8mb4_general_ci;
// 创建用户
create user 'root'@'127.0.0.1' identified by '123456';
// 赋予新创建的用户权限
grant all privileges on *.* to 'root'@'127.0.0.1';
// 刷新
flush privileges;

4.启动容器

# 根据mysql创建的用户名和密码填入username和password中
docker run --detach --name solo --network=host \
    --env RUNTIME_DB="MYSQL" \
    --env JDBC_USERNAME="root" \
    --env JDBC_PASSWORD="123456" \
    --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
    --env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true" \
    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端口

# 安装nginx
apt install nginx

# 配置solo.conf配置文件
vim /etc/nginx/conf.d/solo.conf

将以下nginx反代内容写进配置文件

upstream backend {
    server localhost:8080; # Solo 监听端口
}

server {
    listen       8081; # 一般可以使用80端口实现直接访问
    server_name  182.43.186.137; # 博客域名,没有就填写服务器地址

    access_log off;

    location / {
        proxy_pass http://backend$request_uri;
        proxy_set_header  Host $http_host;
        proxy_set_header  X-Real-IP $remote_addr;
        client_max_body_size  10m;
    }
}
# 刷新nginx 
systemctl reload nginx

到这步nginx反代就算部署完成,可以访问了

6.因为网页静态资源太多 带宽可能承受不住 在docker上使用动静分离 静态资源从cdn上加载

# 查看docker容器列表
docker ps

# 先停掉并删除这个docker 停掉docker不会影响mysql数据库中数据 使用h2database需要注意
docker stop
docker rm solo

# 重新启动容器并在后面添加相应代码

标签:solo,--,mysql,端口,gitee,nginx,Ubuntu,docker
From: https://www.cnblogs.com/isrhino/p/17208071.html

相关文章

  • 关于将Ubuntu18.04降内核后WiFi驱动无法使用
    因为实验需要,需要将我原本的Ubuntu内核降到4.15,所以我参考了网上一些降内核的方法,经过一些小问题的解决成功将内核降到4.15.0-47,但是我发现出现了网卡驱动用不了了,包括有线......
  • ubuntu 18 源码安装nginx
    linux搭建nginx正向代理,添加  第三方模块ngx_http_proxy_connect_moduleapt-getinstallbuild-essentialapt-getinstalllibtoolsudoapt-getupdatesudoapt......
  • ubuntu22.04下安装nvidia-docker
    首先需要保证dockerengine已经安装成功,具体见:https://www.cnblogs.com/devilmaycry812839668/p/17269122.html  ======================================  nvi......
  • 使用SSH连接局域网内的WSL Ubuntu
    参考:https://zhuanlan.zhihu.com/p/586283483https://www.cnblogs.com/lidabo/p/16855975.html  ==========================================  根据https://z......
  • [Git/SVN] Gitee使用教程
    1GiteeGitee提供免费的Git仓库,还集成了代码质量检测、项目演示等功能。对于团队协作开发,Gitee还提供了项目管理、代码托管、文档管理的服务,5人以下小团队免费。......
  • ubuntu ftp 基本FTP命令 Basic FTP Commands
    YoucanuseFTPtotransferfilesfromyourMacOSXSnowLeopardcomputerwithanFTPserverbyusingthecommand-lineinterface(CLI);tousetheCLI,opena......
  • 创建桌面快捷方式 Add items to Ubuntu 12.04 Unity Launcher (quicklaunch)
    AdditemstoUbuntu12.04UnityLauncher(quicklaunch)TherecentupgradetoUbuntu12.04PrecisePangolinleftmesomewhathangingwhenitcomestocreatinglau......
  • Ubuntu服务器下部署Springboot项目教程
    IDEA是Springboot服务器后台的开发工具,软件自备,项目自备。1.进入IDEA,点击IDEA最右边的Maven->Lifecycle->package2.打包之后,你可以在项目文件夹的target文件夹里面看到一个x......
  • Vanilla OS 2.0 底层从 Ubuntu 迁移到 Debian
    VanillaOS是去年才正式发布的 Linux 发行版“新秀”,基于Ubuntu构建,免费且开源,默认桌面环境是GNOME。虽然VanillaOS的底层是Ubuntu,但它删除了各种Ubuntu定制和......
  • ubuntu查看和修改PATH环境变量
    总结:path变量其实存储在/etc/environment文件中,如果要重置PATH只需要source/etc/environment1、查看PATHecho$PATH2、修改PATH修改ubuntu中PATH的方法:直接修改$PAT......