安装Docker

这是一篇来自知乎的安装教程:https://zhuanlan.zhihu.com/p/54147784,号称 史上最全(全平台)docker安装方法!

也在这里埋个坑,计划开个专栏专门讲一讲Docker的安装,包括使用命令行安装和在宝塔中安装。

使用Docker部署

  1. 获取Docker镜像

    docker pull b3log/solo
  2. 创建数据库
    库名 solo,字符集使用 utf8mb4,排序规则 utf8mb4_general_ci

  3. 启动容器

    docker run --detach --name solo --network=host \
        --env RUNTIME_DB="MYSQL" \
        --env JDBC_USERNAME="test" \
        --env JDBC_PASSWORD="123" \
        --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" \
        b3log/solo --listen_port=8080 --server_scheme=http --server_host=easyboot.xyz

参数说明(很重要👍 ):

  • --env JDBC_USERNAME:第2步中创建数据库名
  • --env JDBC_USERNAME:数据库用户名
  • --env JDBC_PASSWORD:数据库密码
  • --env JDBC_URL:数据库连接地址
  • --listen_port:进程监听端口(访问时的端口)
  • --server_scheme:最终访问协议,如果反代服务启用了 HTTPS 这里也需要改为 https
  • --server_host:最终访问域名或公网 IP,不要带端口
  • --server_port:最终访问端口,不建议添加,官网上说如果是80或443就留空,但百般周折后发现留空会导致Lakta配置错误,所以不建议添加

到这里就基本完成了,打开浏览器输入${server_scheme}://${server_host}:${listen_port},如:http://easyboot.xyz:8080,如果看到Solo的欢迎页面(如下图),那就说明上面的步骤完全正确。
start

配置Nginx反向代理

Nginx的安装这里不再赘述,需要教程的同学可以看这篇文章:https://www.jianshu.com/p/beb7b4f7a274

安装完成后修改nginx.conf,当然更建议新建一个conf文件,然后在nginx.cong中通过include引用,下面贴上完整配置:

server
{
        listen 80;
	#域名
        server_name www.easyboot.xyz easyboot.xyz;

	#PROXY-START/
	location /
	{
	    expires 12h;
	    if ($request_uri ~* "(php|jsp|cgi|asp|aspx)")
	    {
	         expires 0;
	    }
		#一开始配置的8080端口的完整访问路径
	    proxy_pass http://easyboot.xyz:8080;
		#域名
	    proxy_set_header Host easyboot.xyz;
	    proxy_set_header X-Real-IP $remote_addr;
	    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	    proxy_set_header REMOTE-HOST $remote_addr;

	    add_header X-Cache $upstream_cache_status;
		
		#Set Nginx Cache
	    proxy_cache cache_one;
	    proxy_cache_key $host$uri$is_args$args;
	    proxy_cache_valid 200 304 301 302 1m;
	}
	
	#PROXY-END/

        location ~ /purge(/.*) {
            proxy_cache_purge cache_one $host$1$is_args$args;
            #access_log  /www/wwwlogs/www.easyboot.xyz_purge_cache.log;
        }

        #禁止访问的文件或目录
        location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
        {
            return 404;
        }
	
        #请求日志
        access_log  /www/wwwlogs/www.easyboot.xyz.log;
        error_log  /www/wwwlogs/www.easyboot.xyz.error.log;
}

参照上面的注释修改域名等参数后,记得:wq保存并退出。
退出后重载nginx配置 nginx -s reload,打开浏览器输入你的域名,就又可以看到熟悉的solo页面了


本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!

接口开发规范 上一篇