为什么要建站?
......(占位)
准备
......(占位)
第一步:配置环境
// 更新软件包 请确保服务器的软件包已经是最新的。
sudo yum update -y
一、安装MySQL 5.7
1.添加MySql5.7仓库
sudo rpm -ivh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
2.确认Mysql仓库成功添加
sudo yum repolist all | grep mysql | grep enabled
3.开始安装Mysql5.7
sudo yum -y install mysql-community-server
4.启动Mysql
// 启动mysql
sudo systemctl start mysqld
//设置系统启动时自动启动
sudo systemctl enable mysqld
//查看启动状态
sudo systemctl status mysqld
5.查看MySql的密码
cat /var/log/mysqld.log | grep -i 'temporary password'
6.修改密码和远程访问权限
// 1.登录MySql
mysql -u root -p
// 2.此时会让你输入密码,复制第5步的密码粘贴即可。
登录成功如下:
// 3.修改登录密码
update mysql.user set authentication_string=password('你的密码') where user='root';
// 4.修改root的远程登录权限
update mysql.user set host = '%' where user='root';
// 5.刷新权限
flush privileges;
7.PC本机登录远程数据库
-
输入修改过的密码
-
登录成功如下
(能在本机远程连上就是登录成功了。)
二、安装docker
1.安装必要依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2.添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.更新 yum 缓存
sudo yum makecache fast
4.安装 Docker
sudo yum install docker-ce docker-ce-cli containerd.io
5.允许当前用户直接运行 docker 命令
需要将当前用户加入 docker 用户组。这样每次运行 docker 命令的时候,就不需要加 sudo。
sudo usermod -aG docker your_name
6.镜像加速
# 新建 daemon.json 文件
sudo vim /etc/docker/daemon.json
将下面的配置复制进去即可:
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
7.启动 Docker 后台服务
sudo systemctl start docker
三、安装nginx
1.添加 Nginx 源
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
2.安装 Nginx
sudo yum install -y nginx
3.启动 Nginx
sudo systemctl start nginx.service
4.设置开机自启 Nginx
sudo systemctl enable nginx.service
第二步:项目跑起来
一.、自定义配置文件
粘贴到命令行即可:
1.下载配置文件到 ~/.halo 目录
curl -o ~/.halo/application.yaml --create-dirs https://raw.githubusercontent.com/halo-dev/halo-common/master/application-template.yaml
2.修改配置文件
完成上一步操作,我们就可以自己配置 Halo 的运行端口,以及数据库相关的配置了。
vim ~/.halo/application.yaml
打开之后修改成:
server:
port: 8090
spring:
datasource:
# MySQL 配置
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: openroot
咱们项目使用mysql,所以用 "#" 将H2部分的全部屏蔽,并将MySQL部分的密码修改成自己数据库的密码。
二、拉取halo镜像
1.拉取最新 Halo 镜像
sudo docker pull ruibaby/halo
2.创建容器并运行
docker run --rm -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo ruibaby/halo
三、访问地址
现在可以访问 http://:8090/ 来安装项目。
至此项目配置完毕,接下来要配置到咱们的域名中去,所以用到nginx。
第三步:配置域名解析(nginx)
由于之前已经安装了nginx,现在咱们进入nginx的文件夹里面去:
1.进入目录
cd /etc/nginx
如下:
2.修改配置文件
然后打开"nginx.conf"配置文件:
vim nginx.conf
将如下代码根据自身情况粘贴进去,我给个人的配置项以做参考:
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
client_max_body_size 1024m; # 文件上传限制
server {
listen 80;
server_name liuzihua.top www.liuzihua.top; # 你的域名
rewrite ^(.*) https://$host$1 permanent;
}
server {
listen 443 ssl;
server_name liuzihua.top www.liuzihua.top; # 你的域名
ssl_certificate cert/a.pem;
ssl_certificate_key cert/a.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://127.0.0.1:8090/; # 这里填入项目的端口
}
}
}
然后重启nginx
sudo nginx -s reload
注意事项
一、配置SMTP
1.打开后台的选项
这里我用的是新浪邮箱
2.开启新浪邮箱POP3服务
然后会有一个授权码,这个得记下来!
3.填入表单
SMTP地址:smtp.sina.com
发送协议:smtp
SSL端口:465
邮箱账号:{你的邮箱账号}
邮箱密码:{你的授权码} # 不是密码!不是密码!不是密码!
发件人:{随便填写}
然后记得保存.
4.测试发送
切换到右侧的"发送测试"
出现发送成功,你的邮箱就会受到一封信。
二、阿里云OSS配置
附件还是存在云端更好一点
1.打开"阿里云对象存储OSS"
2.创建一个"Bucket"
如果没有桶创建一个就好。
3.配置图片处理规则
名字你自己觉得好听就行。。
4.填入表单
首先点击你的"Bucket",中间会出现桶的所有信息,如图1:
点击"概览",点击"Access Key":
然后复制获得到的"Access Key"和"Access Secret",填入字段。
"图片处理策略"和"缩略图处理策略":?x-oss-process=style/{你的样式名}
全部填入字段后,文件上传就会直接给到阿里云OSS中。