使用 docker+nginx+mysql+solo 搭建个人博客

本贴最后更新于 1337 天前,其中的信息可能已经时移俗易

放一个大佬的教程:大佬教程

购买服务器

首先要有一个服务器,阿里云,华为云,腾讯云都可以。一般学生都有优惠。

阿里最近有一个活动可以免费领取服务器,需要学生认证:阿里免费服务器

一般选择 linux 系统。可以练习 linux 命令。

购买之后记住登陆密码和 ip。

开启 21,22,3306 等端口,后续使用哪个端口就开哪个。

购买域名和备案

域名不贵,备案有点慢,大概要 20 天左右。

使用 xshell 连接

填写自己买的服务器的 ip,端口 22,密码,用户名 root,连接服务器(最好保存一下,便于下次连接)。

这一步也可以使用别的软件 winscp,putty 等软件。

捕获 2.PNG

下载 docker

docker 下的一些命令

下载文件

docker run name

开启某个服务

docker start name

重启

docker restart name

停止

docker stop name

查看正在运行服务

docker ps

查看所有

docker ps -a

查看镜像文件

docker images

下载 docker

yum -y install docker

启动 docker

service docker start

测试一下 docker 是否 ok

docker run hello-world

出现 hello world 就 ok;

然后 stop hello-world 并删除镜像文件

docker stop hello-world
docker rm hello-world

在 docker 下安装 mysql+nginx+solo

1:nginx

首先切换目录,创建 nginx 的文件夹

cd / #make dockerData

创建一下文件夹存放 nginx 的配置文件

mkdir dockerData/nginx dockerData/nginx/conf dockerData/nginx/logs dockerData/nginx/zzz dockerData/nginx/ssl

下载 nginx

docker run --name nginx -p 80:80 -d --rm nginx

这个加--rm 是因为后边还有删除它,这样只要 stop 就可以删除。

将配置文件复制到刚才创建的文件。

docker cp nginx:/etc/nginx/nginx.conf /dockerData/nginx/conf/nginx.conf

docker cp nginx:/etc/nginx/conf.d /dockerData/nginx/conf/conf.d

开启 nginx

docker run -d -p 80:80 --name nginx
-v /dockerData/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
-v /dockerData/nginx/conf/conf.d:/etc/nginx/conf.d
-v /dockerData/nginx/zzz:/usr/share/nginx/html
-v /dockerData/nginx/logs:/var/log/nginx nginx

mysql

下载 mysql 版本可以自己选。端口是 3306,这个可以在 navicat 连接到。

捕获 3.PNG

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

docker exec -it mysql bash

mysql -uroot -pXXX

create database solo DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

exit

exit

安装 solo

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:"
b3log/solo --listen_port=8080 --server_scheme=https --server_host=www.zzjjhh.top --server_port=

上传 ssl 证书

将 ssl 证书用 xftp 上传到 dockerData/nginx/ssl 文件下。

nginx 反代实现 https 访问

首先修改 nginx 的配置文件 default.conf,添加 433 端口监听

cd /dockerData/nginx/conf/conf.d

vi default.conf

server{
listen 80;
server_name localhost;
rewrite ^(.*) https://$host$1 permanent;
}
server {
listen 443 ssl;
server_name localhost;

ssl_certificate /ssl/1_www.zzjjhh.top_bundle.crt;
ssl_certificate_key /ssl/2_www.zzjjhh.top.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
    proxy_set_header Host $http_host;
    proxy_pass http://www.zzjjhh.top:8080;
}
error_page  404              /404.html;
}

重启 nginx,这次监听 443 端口(80 是 http,443 是 https)

到这里就没了,个人博客就搭建好了

希望各位要常写博客。以后投简历面试可以加分的。

  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    311 引用 • 546 回帖 • 35 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...