WikiWiki
首页
Java开发
Java面试
Linux手册
  • AI相关
  • Python Flask
  • Pytorch
  • youlo8
SEO
uniapp小程序
Vue前端
work
数据库
软件设计师
入门指南
首页
Java开发
Java面试
Linux手册
  • AI相关
  • Python Flask
  • Pytorch
  • youlo8
SEO
uniapp小程序
Vue前端
work
数据库
软件设计师
入门指南
  • Docker技术笔记
  • Ubuntu LVM 根分区扩容到 500G 详细操作手册
  • UbuntuJava环境搭建手册
  • mysql5.7主从配置手册
  • 内网nginx部署与负载均衡手册
  • 服务器资源整理
  • 账本docker部署手册

修改ROOT登录

步骤方法
修改 root 密码执行命令sudo passwd root
输入密码可以和 ubuntu 密码一致,也可以修改 (密码会让你输入两次)
修改 ssh 配置执行命令sudo vi /etc/ssh/sshd_config
修 改 PermitRootLogin进入 ssh 配置界面后找到PermitRootLogin,将它后面改为yes,保存 (按i进入编辑模式,编辑完esc退出,:w保存当前文件,:q退出)
重启 ssh 服务执行命令sudo service ssh restart

Docker

更新索引:sudo apt update
安装docker:snap install docker
重启:sudo snap restart docker
换源:
sudo tee /var/snap/docker/current/config/daemon.json <<-'EOF'
{
    "log-level":"error",
    "registry-mirrors": [
    	"https://docker.m.daocloud.io",
    	"https://docker.imgdb.de",
    	"https://docker-0.unsee.tech",
    	"https://docker.hlmirror.com",
    	"https://docker.1ms.run",
    	"https://func.ink",
    	"https://lispy.org",
    	"https://docker.xiaogenban1993.com"
    ]
}
EOF

Docker安装MySQL5.7

Docker实操:安装MySQL5.7详解(保姆级教程)-腾讯云开发者社区-腾讯云

docker pull mysql:5.7
docker run -p 3307:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
--restart=always \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7

MySQL8.0

下载安装:sudo apt install mysql-server -y

开启忽略表名称大小写与远程链接(在创建数据库的时候创建,如果库中有数据,先备份)

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]
lower_case_table_names=1
bind-address = 0.0.0.0

删除该目录下的文件
sudo rm -rf /var/lib/mysql/*

初始化,此时就会根据我们更改的新配置文件就行配置
sudo mysqld --initialize-insecure --user=mysql --datadir=/var/lib/mysql

启动Mysql:sudo systemctl start mysql
配置MySql:sudo mysql_secure_installation


VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component? //设置Mysql密码组件

-- N


By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.//删除匿名访问

-- Y

Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network. //远程链接

-- N

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.//删除test测试库

-- Y

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.//重新加载权限

-- Y

登录MySQL

mysql -uroot -p

设置MySQL密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yanpeng2580!';
FLUSH PRIVILEGES;

设置远程链接

查看用户链接权限:SELECT User, Host FROM mysql.user;
-- 登录 MySQL
sudo mysql -u root -p

-- 切换到 mysql 数据库
USE mysql;

-- 创建新的 root 用户记录
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'yanpeng2580!';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

验证MySQL是否在运行

Mysql状态:sudo systemctl status mysql
启动Mysql:sudo systemctl start mysql

卸载并彻底删除mysql

sudo apt purge mysql-*
sudo rm -rf /etc/mysql/ /var/lib/mysql
sudo apt autoremove
sudo apt autoclean

Nginx

sudo apt install nginx
查看Nginx状态:sudo systemctl status nginx
查看nginx配置文件:nginx -t

ng常用命令

# 进入nginx的执行目录
cd /usr/local/nginx/sbin

# 启动nginx
./nginx

# 停止nginx(强制停止)
./nginx -s stop

# 退出nginx(安全退出)
./nginx -s quit

# 重新加载配置文件(修改过配置文件后使用)
./nginx -s reload

防火墙

# 防火墙相关命令
# 关闭防火墙
systemctl stop firewalld 

# 开启防火墙
systemctl start firewalld

# 查看防火墙状态
systemctl status firewalld

# 查看防火墙规则
firewall-cmd --list-all

# 查询端口是否开放
firewall-cmd --query-port=80/tcp

# 开放80端口
firewall-cmd --permanent --add-port=80/tcp

# 关闭80端口
firewall-cmd --permanent --remove-port=8080/tcp

# 重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

Redis

官网教程:Install Redis on Linux | Docs

sudo apt-get install lsb-release curl gpg
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
sudo chmod 644 /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
sudo apt-get update
sudo apt-get install redis

sudo systemctl enable redis-server
sudo systemctl start redis-server

验证:

输入 : redis-cli  进入      输入exit退出

修改配置文件

sudo systemctl start redis-server

开启redis监听配置

notify-keyspace-events Ex

开启远程链接

编辑:/etc/redis/redis.conf

# 允许任何主机连接、访问
bind 127.0.0.1 改为 bind 0.0.0.0
# 关闭保护模式
protected-mode yes 改为 protected-mode no
# 允许启动后在后台运行,即关闭命令行窗口后仍能运行
daemonize no 改为 daemonize yes

添加密码

requirepass 123456

修改后重启redis

sudo systemctl restart redis

验证状态:

sudo systemctl status redis

Java

1、更新软件包列表:

sudo apt-get update

2、安装openjdk-8-jdk:

sudo apt-get install openjdk-8-jdk

3、查看java版本,看看是否安装成功:

java -version

jar包运行

1.查看java进程

ps -ef|grep java

2.查看端口被占用

  1. 使用 netstat 命令 netstat 是一个用于显示网络状态信息的命令。要查看特定端口是否被占用,可以使用以下命令:
netstat -tuln | grep 端口号
-t: 显示 TCP 连接信息
-u: 显示 UDP 连接信息
-l: 仅显示监听状态的端口
-n: 使用数字格式显示端口号,而不是服务名
grep 端口号: 使用 grep 命令过滤出指定的端口号信息
例如,要查看端口号 80 是否被占用,可以执行:
netstat -tuln | grep 8080

3.jar包运行sh脚本

#!/bin/bash
#jar包路径
ROOT_DIR="/home/scdl/20240817/jar/" 
#jar包名称
#nohup.out 日志文件
APP_NAME=ruoyi-admin.jar
NOW_DATE=$(date +%c)

usage() {
    echo "用法: sh ruoyi-admin.sh [start(启动)|stop(停止)|restart(重启)|status(状态)|log(实时监控日志)]"
    exit 1
}

cd ${ROOT_DIR}

echo "当前时间:${NOW_DATE}"

is_exist(){
  pid=`ps -ef|grep ${APP_NAME}|grep -v grep|awk '{print $2}' `
  if [[ -z "${pid}" ]]; then
   return 1
  else
    return 0
  fi
}

start(){
  is_exist
  if [[ $? -eq "0" ]]; then
    echo "${APP_NAME} 正在运行。 pid=${pid} ."
  else
    nohup java -server -Xms256m -Xmx512m -jar ${ROOT_DIR}/${APP_NAME} > ${ROOT_DIR}/nohup.out  2>&1 &
    echo "${APP_NAME} 正在启动,请查看日志确保运行正常。"
    fi
}

stop(){
  is_exist
  if [[ $? -eq "0" ]]; then
    kill -9 $pid
    echo "${pid} 进程已被杀死,程序停止运行"
  else
    echo "${APP_NAME} 未运行!"
  fi
}

status(){
  is_exist
  if [[ $? -eq "0" ]]; then
    echo "${APP_NAME} 正在运行。Pid is ${pid}"
  else
    echo "${APP_NAME} 未运行!"
  fi
}

log(){
  echo "日志文件位置:${ROOT_DIR}/nohup.out"
  tail -f ${ROOT_DIR}/nohup.out
}

restart(){
  stop
  start
  log
}

case "$1" in
  "start")
    start
    ;;
  "stop")
    stop
    ;;
  "status")
    status
    ;;
  "restart")
    restart
    ;;
  "log")
    log
    ;;
  *)
    usage
    ;;
esac

4.监听日志文件

tail -f 日志路径

MinIO

# 下载服务端
wget https://dl.min.io/server/minio/release/linux-amd64/minio
# 将下载所得minio文件拷贝到指定文件夹并赋权
sudo cp minio /usr/local/bin/
sudo chmod +x /usr/local/bin/minio
# 为MinIO创建一个存储目录
sudo mkdir /data
# 启动MinIO,并指定存储目录和访问地址:
sudo minio server /data --console-address ":9099"

MinIO启动后,可以在浏览器中输入http://ip:9000,打开后自动跳转到http://ip:9099,在用户名密码处输入默认用户名密码(minioadmin/minioadmin)即可登陆系统。

配置自启动服务

为简化MinIO配置,我们可将MinIO的配置统一写入一个配置文件,以供启动时调用。配置方式如下:

# 默认把配置文件放入/etc/default文件夹中,名称为minio
sudo nano /etc/default/minio

在文件中写入如下内容:

# 指定数据存储目录(注意:这个目录要存在且拥有相对应的权限)
MINIO_VOLUMES="/data"

# 监听端口
MINIO_OPTS="--address :9000 --console-address :9099"

# 老版本使用MINIO_ACCESS_KEY/MINIO_SECRET_KEY,新版本已不建议使用
# Access key (账号)
# MINIO_ACCESS_KEY="minioadmin"
# Secret key (密码)
# MINIO_SECRET_KEY="minioadmin"

# 新版本使用;指定默认的用户名和密码,其中用户名必须大于3个字母,否则不能启动
MINIO_ROOT_USER="minioadmin"
MINIO_ROOT_PASSWORD="yanpeng2580!"

# 区域值,标准格式是“国家-区域-编号”,
MINIO_REGION="cn-north-1"

# 域名
# MINIO_DOMAIN=minio.your_domain.com

创建minio.service服务文件,并写入配置信息:

[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio
[Service]
WorkingDirectory=/usr/local/

ProtectProc=invisible

# 指向3.1节中的配置文件
EnvironmentFile=/etc/default/minio

ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES

# Let systemd restart this service always
Restart=always

# Specifies the maximum (1M) file descriptor number that can be opened by this process
LimitNOFILE=1048576

# Specifies the maximum number of threads this process can create
TasksMax=infinity

# Disable timeout logic and wait until process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no
SuccessExitStatus=0

[Install]
WantedBy=multi-user.target
Alias=minio.service

使服务生效

# 重新加载服务配置文件,使服务生效
systemctl daemon-reload

# 将服务设置为开机启动
systemctl enable minio

# 服务立即启动
systemctl start minio

# 查看minio服务当前状态
systemctl status minio
最近更新:: 2025/8/22 15:05
Contributors: yanpeng_
Prev
Ubuntu LVM 根分区扩容到 500G 详细操作手册
Next
mysql5.7主从配置手册