温馨提示:这篇文章已超过387天没有更新,请注意相关的内容是否还可用!

2023-07-25 14:47
node.js版本问题
17以下版本:去掉前端项目package.json文件中“set NODE_OPTIONS=--openssl-legacy-provider & ”即可
17及以上版本:无需修改
2023-07-25 10:00
后台管理系统
作用:网站配置,文章管理,评论管理,资源管理等
地址:域名/admin
账号/密码:草鸡管理员(初始账号:sara/aaa)
2023-07-25 00:00
表白墙初始化问题:
在数据库的《family》表中手动添加一条数据,其中《user_id》字段是草鸡管理员ID(1),并重启服务。
如果不想手动添加,请登录草鸡管理员账号,并在《开往表白墙》下面的《申请入住》添加,然后在后台管理的《资源路径管理》修改状态。
2023-07-24 00:00
账号问题:
请执行“poetry.sql”中的初始化账号SQL,用户名《Sara》,密码《aaa》。
如果不想执行,请自己注册,并手动修改数据库数据获取草鸡管理员权限,然后重启后端服务。请注意:草鸡管理员的用户类型(user_type)是《0》,用户ID(id)是《1》。
2023-07-23 00:00
配置问题:
前端所有配置都在“color.css”和“constant.js”中,请自行修改。
后端所有配置都在“application.yml”和“CommonConst.java”中,请自行修改。
2023-07-21 00:00
注意:此教程使用域名去做的,若备案未完成,可将教程中的域名换成IP。
2023-06-05 00:00
部署前建议:
node版本16.20------https://origin.nodejs.org/download/release/v16.20.1/
jdk版本:1.8-------https://www.oracle.com/sg/java/technologies/downloads/
项目拉取
地址
聊天室:聊天室 IM Vue3: 个人博客 聊天室 IM,挑战最美博客,使用 SpringBoot 和 Vue 的个人网站
后端:最美博客 聊天室 IM Java: 个人博客 聊天室 IM,挑战最美博客,使用 SpringBoot 和 Vue 的个人网站
部署参考文档:POETIZE
项目配置
配置七牛云(对象存储、CDN加速)
使用七牛云主要用于文件储存与CDN。七牛云有免费10G的储存空间与10G的CDN,很适合无人问津的个人博客网站。
1.新建存储空间
2.绑定自定义域名
1.格式必须为:xxx.域名,xxx可以为任意,我这里用的cdn.lvzhaojie.cn,你也可以用:gegezhenshuai.lvzhaojie.com,对此下面会有详细解释。
1.域名托管商添加TXT记录,用于验证域名归属
3.配置CDN加速服务(建议使用二级域名做CDN加速)
1.同一个域名只能使用 A 记录解析,或者使用 CNAME 解析,若A记录和CNAME主机记录相同,会发生冲突
1.显示**成功**就完成了
4.为CDN加速域名开启证书服务
5.创建自定义文件目录(用于放置表情和自定义字体)
1.表情包位置
1.创建自定义文件目录
1.创建表情目录并上传表情
1.复制CDN加速域名
配置前端
配置博客代码(poetize-vue2)
1.将请求地址改成自己的IP或域名
1.注意:qiniuUrl: "https://upload.qiniup.com" 此配置是华东-浙江的上传地址,如果储存空间不是华东-浙江,请看这里:
https://developer.qiniu.com/kodo/1671/region-endpoint-fq
2.我这里配置的是Https,http参考上面的配置
2.修改表情路径
3.安装项目依赖
4.本地运行项目
5.留言处查看表情
6.打包项目并改名:vue-2
配置聊天室代码(poetize-im-vue3)
1.将请求地址改成自己的IP或域名
1.注意:wsProtocol: "wss"此配置是Https配置,如果是Http,需要改成wsProtocol: "ws"
2.注意:qiniuUrl: "https://upload.qiniup.com"此配置是华东-浙江的上传地址,如果储存空间不是华东-浙江,请看这里:
https://developer.qiniu.com/kodo/1671/region-endpoint-fq
2.项目打包
1.注意:这里80端口是Http请求,如果是Https请求请换成443
3.安装依赖
打包项目并改名:vue-3
配置后端
1.配置邮箱和数据库
2.配置后端秘钥(七牛云提供)
3.打包Java项目成jar包
配置服务器
1.服务器操作系统推荐:Cent OS 7
2.域名添加服务器IP解析
3.申请并下载免费SSL证书
4.防火墙端口设置
1.8081:用来测试后端服务运行状况
2.80:Http协议默认端口
3.443:Https协议默认端口
4.465:邮箱端口
5.3306:MySQL端口(如果不需要远程访问则无需开启)
项目部署
整理项目文件上传服务器(home目录)
各文件夹下存放的内容
Java:打包好的jar包
sql:用来生成数据库和表(位置见下图)
ssl:SSL免费证书
vue-2:打包好的博客文件
vue-3:打包好的聊天室文件
MySql
1.卸载旧版本
rpm -qa | grep mysql rpm -qa | grep mariadb rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
2.安装mysql
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm yum -y install mysql57-community-release-el7-10.noarch.rpm yum -y install mysql-community-server --nogpgcheck
3.启动MySql
# 启动 systemctl start mysqld.service # 自启 systemctl enable mysqld.service # 状态 systemctl status mysqld.service # 重启 systemctl restart mysqld.service # 停止 systemctl stop mysqld.service
4.查看MySql初始密码
grep "password" /var/log/mysqld.log
5.修改默认密码、配置权限
# 登录MySQL mysql -uroot -p # 设置密码为 P17CKSzBp0q2@866,并且只允许本机访问 alter user 'root'@'localhost' identified by 'Pass@word01!'; # 刷新使修改生效 flush privileges; # 如果需要远程访问,则执行以下操作 grant all privileges on *.* to 'root'@'%' identified by 'Pass@word01!'; # 刷新使修改生效 flush privileges;
6.创建数据库和数据表
#创建数据库 CREATE DATABASE IF NOT EXISTS poetize DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; #切换数据 use poetize; #导入MySQL文件 source /home/blog/sql/poetry.sql;
Java
1.安装并测试Java服务
#安装java yum -y install java-1.8.0-openjdk #查看安装是否生效: java -version #测试部署 java -jar poetry-0.0.1-SNAPSHOT.jar #浏览器访问(测试端口8081) ip:8081 #查看端口进程(https://www.runoob.com/w3cnote/linux-check-port-usage.html) netstat -tunlp | grep 8081
1.java -jar xxx.jar此方法仅适用测试jar包,此界面关闭,java进程停止
1.表示Java服务正在运行
2.查询java安装目录
which java ls -lrt /usr/bin/java ls -lrt /etc/alternatives/java
3.编写开机自启脚本
cd /etc/systemd/system vim poetry.service
1.脚本内容
[Unit] Description=poetry service After=syslog.target [Service] Type=simple ExecStart=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64/jre/bin/java -jar -Xms1024m -Xmx1024m -Xmn256m -Xss256k /home/blog/java/poetry-0.0.1-SNAPSHOT.jar [Install] WantedBy=multi-user.target
1.这是一个用于定义 systemd 服务的配置文件,将 Java 应用程序 "poetry" 运行为服务,不同部分的含义如下:
1.[Unit]:该部分描述了该单位及其依赖项。在这种情况下,它指定服务应在 syslog.target 后启动。
2.Description=:服务的简短描述。
3.[Service]:该部分描述了服务应如何运行。Type 参数将 systemd 设置为要运行的进程类型,这里设置为简单类型。ExecStart 定义了启动服务的命令,在这里它指向一个带有一些特定 JVM 参数的可执行的 jar 文件。
4.[Install]:该部分指定服务应在何时启动。在这种情况下,它表明服务应在达到 multi-user.target 时启动。
总的来说,这个文件定义了一个 systemd 服务,会以特定的 JVM 参数运行名为 "poetry" 的 Java 应用程序,并且在开机自启时自动启动。
2.这个命令行包含了一些 JVM 参数,这些参数会影响 Java 应用程序的内存使用和性能表现。下面是这些参数的含义:
1./usr/java/jdk1.8.0_281/bin/java:Java 可执行文件的路径。
2.-jar:以可执行 jar 文件的形式启动应用程序。
3.-Xms1024m:设置 Java 堆空间的初始大小为 1024MB。
4.-Xmx1024m:设置 Java 堆空间的最大大小为 1024MB。
5.-Xmn256m:设置年轻代堆空间的大小为 256MB。
6.-Xss256k:设置线程栈的大小为 256KB。
这些参数的含义简述如下:
1.-Xms:设置 Java 堆的初始分配大小。这个参数可以帮助减少应用程序在启动阶段的垃圾回收次数。
2.-Xmx:设置 Java 堆的最大分配大小。当应用程序需要更多的内存时,JVM 会自动增加堆的大小,但不会超过这个值。
3.-Xmn:设置年轻代堆空间的大小。年轻代是 Java 堆的一部分,用于存储新创建的对象。通过调整年轻代的大小,可以优化应用程序的性能和内存使用。
4.-Xss:设置线程栈的大小。线程栈是用于执行代码的一块内存区域。如果应用程序同时运行大量线程,那么可能需要增加线程栈的大小。
4.设置自启
#将设置/etc/systemd/system/poetry.service文件的可执行权限,这将允许你使用systemctl命令启动和停止poetry服务 chmod +x /etc/systemd/system/poetry.service #命令systemctl daemon-reload将重新加载systemd守护进程的配置 systemctl daemon-reload #启动服务 systemctl start poetry.service #设置自启 systemctl enable poetry.service #查看服务状态 systemctl status poetry.service
Nginx
1.安装Nginx
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm yum install -y nginx-1.18.0 # 开启 systemctl start nginx.service # 自启 systemctl enable nginx.service
2.修改配置文件
vim /etc/nginx/nginx.conf
1.**Https配置**
user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 443 ssl; server_name www.lvzhaojie.cn; ssl_certificate /home/blog/ssl/lvzhaojie.cn_bundle.pem; ssl_certificate_key /home/blog/ssl/lvzhaojie.cn.key; ssl_session_timeout 5m; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_prefer_server_ciphers on; location / { root /home/blog/vue-2; index index.html; try_files $uri $uri/ /index.html; } location /im { alias /home/blog/vue-3; index index.html; try_files $uri $uri/ /index.html; } location /api/ { rewrite ^/api/(.*)$ /$1 break; proxy_pass http://127.0.0.1:8081; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-real-ip $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /socket { proxy_pass http://127.0.0.1:9324; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 600s; } } server { listen 80; server_name lvzhaojie.cn; rewrite ^(.*)$ https://$host$1; } }
1.**Http配置**
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root /home/poetry-vue2; index index.html; try_files $uri $uri/ /index.html; } location /im { alias /home/poetry-vue3; index index.html; try_files $uri $uri/ /index.html; } location /api/ { rewrite ^/api/(.*)$ /$1 break; proxy_pass http://127.0.0.1:8081; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-real-ip $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /socket { proxy_pass http://127.0.0.1:9324; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 600s; } } }
3.重载Nginx配置文件
#方式1(推荐) sudo systemctl reload nginx #方式2 cd /usr/sbin ./nginx -s reload
发表评论