个人文件

鲲鹏博客

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

最新进展

2023-07-25 15:04

樱花雨效果需要在main.js内引入js文件:import "./utils/sakura"

001.png

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/

项目拉取

地址

项目配置

配置七牛云(对象存储、CDN加速)

使用七牛云主要用于文件储存与CDN。七牛云有免费10G的储存空间与10G的CDN,很适合无人问津的个人博客网站。


1.新建存储空间

002.png


2.绑定自定义域名

003.png

004.png


1.格式必须为:xxx.域名,xxx可以为任意,我这里用的cdn.lvzhaojie.cn,你也可以用:gegezhenshuai.lvzhaojie.com,对此下面会有详细解释。

005.png

006.png

007.png

1.域名托管商添加TXT记录,用于验证域名归属

008.png

3.配置CDN加速服务(建议使用二级域名做CDN加速)


1.同一个域名只能使用 A 记录解析,或者使用 CNAME 解析,若A记录和CNAME主机记录相同,会发生冲突

2.参考:如何配置域名的 CNAME - 七牛开发者中心

009.png

010.png

1.显示**成功**就完成了

011.png

4.为CDN加速域名开启证书服务

012.png

013.png

5.创建自定义文件目录(用于放置表情和自定义字体)


1.表情包位置

014.png


1.创建自定义文件目录

015.png


1.创建表情目录并上传表情

016.png

1.复制CDN加速域名

017.png


配置前端

配置博客代码(poetize-vue2)

1.将请求地址改成自己的IP或域名


1.注意:qiniuUrl: "https://upload.qiniup.com" 此配置是华东-浙江的上传地址,如果储存空间不是华东-浙江,请看这里:

https://developer.qiniu.com/kodo/1671/region-endpoint-fq

2.我这里配置的是Https,http参考上面的配置

018.png


2.修改表情路径

019.png


3.安装项目依赖

020.png


4.本地运行项目

021.png

021.png


5.留言处查看表情

023.png


6.打包项目并改名:vue-2

024.png


配置聊天室代码(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

025.png


2.项目打包


  1.注意:这里80端口是Http请求,如果是Https请求请换成443

026.png


3.安装依赖

027.png


打包项目并改名:vue-3

028.png


配置后端

1.配置邮箱和数据库

029.png


2.配置后端秘钥(七牛云提供)

030.png

031.png


3.打包Java项目成jar包

032.png

033.png

配置服务器

1.服务器操作系统推荐:Cent OS 7

2.域名添加服务器IP解析

034.png


3.申请并下载免费SSL证书

035.png


4.防火墙端口设置


1.8081:用来测试后端服务运行状况

2.80:Http协议默认端口

3.443:Https协议默认端口

4.465:邮箱端口

5.3306:MySQL端口(如果不需要远程访问则无需开启)

036.png


项目部署

整理项目文件上传服务器(home目录)

各文件夹下存放的内容


  • Java:打包好的jar包

  • sql:用来生成数据库和表(位置见下图)

  • ssl:SSL免费证书

  • vue-2:打包好的博客文件

  • vue-3:打包好的聊天室文件

037.png

038.png


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

039.png


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;

040.png


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进程停止

041.png


1.表示Java服务正在运行

042.png


2.查询java安装目录


which java
ls -lrt /usr/bin/java
ls -lrt /etc/alternatives/java


043.png


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:设置线程栈的大小。线程栈是用于执行代码的一块内存区域。如果应用程序同时运行大量线程,那么可能需要增加线程栈的大小。

044.png


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

045.png



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;
}
}

046.png


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


文章版权声明:除非注明,否则均为鲲鹏博客原创文章,转载或复制请以超链接形式并注明出处。

您需要 登录账户 后才能发表评论

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (有 1 条评论,4470人围观)

目录[+]

取消
微信二维码
微信二维码
支付宝二维码