2024-08-29

以下是在Linux系统上安装JDK 1.8、Tomcat、MariaDB(MySQL的删减版)和MySQL的简要步骤和命令。

  1. 安装JDK 1.8:



sudo apt update
sudo apt install openjdk-8-jdk
  1. 安装Tomcat:



sudo apt update
sudo apt install tomcat9
  1. 安装MariaDB(如果系统中已经预装了MySQL,则可以直接安装MariaDB):



sudo apt update
sudo apt install software-properties-common
sudo apt-get install software-properties-common
sudo add-apt-repository 'deb http://mirror.stuhome.net/mariadb/repo/10.3/ubuntu bionic main'
sudo apt update
sudo apt install mariadb-server
  1. 安装MySQL(如果需要):



sudo apt update
sudo apt install mysql-server

注意:在安装MySQL时,如果系统中已经安装了MariaDB,可能会有冲突。这种情况下,你需要卸载MariaDB,然后再安装MySQL。




sudo apt-get remove --purge mariadb-server-10.3
sudo apt-get autoremove
sudo apt-get update
sudo apt install mysql-server

以上步骤假设你使用的是基于Debian的Linux发行版(如Ubuntu)。对于其他发行版,步骤可能会有所不同。

2024-08-29

在Linux中,mmap 函数用于内存映射文件到进程的地址空间,也可以用来创建匿名内存映射(不映射到文件),即创建匿名内存块。

以下是一个使用 mmap 创建匿名内存映射的简单例子:




#include <sys/mman.h>
#include <stdio.h>
#include <stdlib.h>
 
int main() {
    // 创建匿名内存映射,大小为1MB
    void *addr = mmap(NULL, 1024 * 1024, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_SHARED, -1, 0);
    if (addr == MAP_FAILED) {
        perror("mmap failed");
        return 1;
    }
 
    // 使用内存
    printf("Memory mapped at address: %p\n", addr);
 
    // 清理内存映射
    if (munmap(addr, 1024 * 1024) == -1) {
        perror("munmap failed");
        return 1;
    }
 
    return 0;
}

这段代码创建了一个大小为1MB的匿名内存块,并映射到进程的地址空间。然后使用这块内存,最后通过 munmap 函数来取消内存映射并释放资源。

请注意,mmap 函数的参数可能会根据不同的平台和版本有所不同,上面的例子适用于大多数类Unix系统。

2024-08-29

在Termux上运行Tomcat的步骤如下:

  1. 打开Termux应用。
  2. 更新包索引并升级所有包,执行以下命令:

    
    
    
    pkg update && pkg upgrade
  3. 安装Java,因为Tomcat是用Java编写的,执行以下命令:

    
    
    
    pkg install openjdk
  4. 安装Tomcat,执行以下命令:

    
    
    
    pkg install tomcat
  5. 安装完成后,启动Tomcat服务,执行以下命令:

    
    
    
    /etc/init.d/tomcat start
  6. 要使Tomcat在每次启动Termux时自动启动,执行以下命令:

    
    
    
    termux-widget-update

    并在出现的小部件中启用Tomcat。

现在,你可以通过访问 http://localhost:8080 在Termux的Web浏览器中查看Tomcat的默认页面,或者部署你自己的应用并通过相同的地址进行访问。

2024-08-29

在Linux环境下安装RocketMQ及RocketMQ Dashboard可视化工具的步骤概括如下:

  1. 安装Java环境

    RocketMQ依赖Java环境,确保系统已安装Java并配置好环境变量JAVA_HOME

  2. 下载RocketMQ

    从RocketMQ官网下载对应版本的RocketMQ二进制包。

  3. 解压RocketMQ



tar -zxvf rocketmq-all-*.tar.gz
  1. 启动NameServer



cd rocketmq-all-*/bin
nohup sh mqnamesrv &
  1. 启动Broker



nohup sh mqbroker -n localhost:9876 &
  1. 安装RocketMQ Dashboard

    RocketMQ Dashboard是一个可视化管理工具,可以通过源码编译或者下载编译好的jar包运行。

如果选择从源码编译,需要安装Maven环境,并从GitHub克隆源码,然后编译。

如果选择直接下载编译好的jar包,可以从RocketMQ Dashboard的GitHub Release页面下载对应版本的jar包。

  1. 运行RocketMQ Dashboard



java -jar rocketmq-dashboard-*.jar --server.port=8080 --rocketmq.config.namesrvAddr=localhost:9876

以上步骤中,请替换为实际下载的RocketMQ版本和RocketMQ Dashboard版本。启动后可以通过浏览器访问指定端口查看RocketMQ控制面板。

2024-08-29

将Spring Boot程序制作成系统服务,在Windows和Linux上有所不同。

Windows

在Windows上,你可以使用winsw来将Spring Boot应用程序制作成服务。

  1. 下载winsw的可执行文件到你的Spring Boot应用程序的目录中。
  2. 为你的应用程序创建一个配置文件,如your-app.xml,它应该与winsw.exe在同一个目录。
  3. 编辑配置文件,指定Java命令和你的Spring Boot应用程序的主类。
  4. 使用winsw安装你的服务:运行your-app.exe install
  5. 启动服务:your-app.exe start

Linux

在Linux上,你可以使用systemd来创建服务单元。

  1. 为你的应用程序创建一个systemd服务文件,如your-app.service,它通常位于/etc/systemd/system/
  2. 编辑服务文件,指定Java命令和你的Spring Boot应用程序的启动脚本。
  3. 重新加载systemd配置:sudo systemctl daemon-reload
  4. 启动服务:sudo systemctl start your-app
  5. 设置服务开机自启:sudo systemctl enable your-app

示例代码和配置

Windows

your-app.xml 配置示例:




<service>
  <id>your-app</id>
  <name>Your Application</name>
  <description>This service runs Your Spring Boot Application</description>
  <executable>java</executable>
  <arguments>-jar "your-app.jar"</arguments>
  <logpath>logs</logpath>
  <logmode>rotate</logmode>
</service>

Linux

your-app.service 配置示例:




[Unit]
Description=Your Spring Boot Application
After=network.target
 
[Service]
User=your-user
Type=simple
ExecStart=/usr/bin/java -jar /path/to/your-app.jar
Restart=on-failure
 
[Install]
WantedBy=multi-user.target

确保替换<executable><arguments>[Service]ExecStart中的路径和用户为你的实际情况。

这些是大致步骤,实际操作时可能需要根据Spring Boot应用程序的具体情况进行调整。

2024-08-29

在Ubuntu系统上优化Tomcat 9的内存和线程配置,可以通过编辑Tomcat的配置文件catalina.sh实现。

  1. 编辑catalina.sh文件:



sudo nano /opt/tomcat/bin/catalina.sh
  1. catalina.sh文件中,设置JVM选项来调整内存。例如,设置最大堆内存为4GB,初始堆内存为2GB:



JAVA_OPTS="-Xms2g -Xmx4g"
  1. 如果您需要调整线程堆栈大小,可以添加以下配置:



JAVA_OPTS="$JAVA_OPTS -Xss1m"
  1. 保存并关闭文件。
  2. 重启Tomcat服务以应用更改:



sudo systemctl restart tomcat

请根据您的具体需求和服务器的内存容量来调整这些值。注意,过多的线程可能会消耗大量内存,所以要确保线程堆栈大小与可用内存相适应。

2024-08-29



# 创建一个新群组叫做 "project3"
sudo groupadd project3
 
# 创建一个新用户叫做 "student1",并将其加入到 "project3" 群组
sudo useradd -G project3 student1
 
# 设置密码 "student1" 用户
sudo passwd student1
 
# 创建一个新目录 "/opt/project3",并设置所有权为 "project3" 群组
sudo mkdir /opt/project3
sudo chgrp project3 /opt/project3
 
# 设置目录的权限,仅允许群组成员读写执行,其他用户只读
sudo chmod 770 /opt/project3
 
# 给 "student1" 用户设置特殊权限,使其能够在该目录下创建文件
sudo setfacl -m u:student1:rwx /opt/project3
 
# 打印出当前的文件和目录权限
ls -l /opt/project3

这段代码展示了如何在Ubuntu Linux上创建一个新的群组、用户,并设置合适的权限来管理一个项目目录。这是一个基本的权限管理操作,对于任何需要在Linux系统上管理用户和权限的教育项目都是有价值的参考。

2024-08-29

以下是一个简化的Oracle Linux 6上安装Oracle 11g R2数据库和ASM的示例配置过程。请注意,这个过程假设您已经拥有了Oracle的安装介质和有效的许可证。

  1. 系统要求和前置条件

    • 至少2GB的物理内存
    • 足够的磁盘空间
    • 网络配置
  2. 安装必要的软件包和创建Oracle用户

    
    
    
    sudo yum install -y binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat
     
    sudo groupadd -g 54321 oinstall
    sudo groupadd -g 54322 dba
    sudo useradd -u 54321 -g oinstall -G dba oracle
    sudo passwd oracle
  3. 设置Oracle环境变量

    
    
    
    sudo su - oracle
    cat >> ~/.bash_profile <<EOF
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=\$ORACLE_BASE/product/11.2.0/db_1
    export ORACLE_SID=ORCL
    export PATH=\$PATH:\$ORACLE_HOME/bin
    export LD_LIBRARY_PATH=\$ORACLE_HOME/lib
    EOF
    source ~/.bash_profile
  4. 配置内核参数和用户限制

    • 编辑/etc/sysctl.conf,添加以下行:

      
      
      
      fs.file-max = 6815744
      kernel.sem = 250 32000 100 128
      kernel.shmmax = 536870912
      net.ipv4.ip_local_port_range = 1024 65000
      net.core.rmem_default = 262144
      net.core.rmem_max = 4194304
      net.core.wmem_default = 262144
      net.core.wmem_max = 1048576
    • 使更改生效:

      
      
      
      sudo sysctl -p
    • 编辑/etc/security/limits.conf,添加以下行:

      
      
      
      oracle soft nproc 2047
      oracle hard nproc 16384
      oracle soft nofile 1024
      oracle hard nofile 65536
  5. 创建必要的目录并设置权限

    
    
    
    sudo mkdir -p /u01/app/oracle
    sudo chown -R oracle:oinstall /u01
    sudo chmod -R 775 /u01
  6. 开始安装Oracle

    • 以oracle用户登录
    • 解压Oracle软件包
    • 运行runInstaller脚本开始图形化安装
    • 在安装过程中选择定制安装,并选择数据库+ASM
    • 完成安装后,运行root.sh脚本
    • 配置监听器和tnsnames
    • 测试连接数据库和ASM实例

注意:以上步骤为示例,实际安装时可能需要根据Oracle的版本和系统环境做出相应的调整。

2024-08-29

以下是一个基于 Jenkins 的自动打包和部署 Tomcat 环境的简化版示例:

  1. 安装 Jenkins 和 Java。
  2. 在 Jenkins 上安装必要的插件,如 Git 插件、Maven 插件等。
  3. 配置一个 Maven 项目,在 pom.xml 中指定打包为 war 文件。
  4. 在 Jenkins 上创建一个新的 job,并配置源码管理、触发器、构建环境和构建操作。
  5. 在构建操作中,添加步骤执行 Maven 打包命令。
  6. 配置 Post-build Actions,添加将 war 文件复制到 Tomcat 的 webapps 目录的步骤。

示例 pom.xml 配置:




<project>
  <!-- ... 其他配置 ... -->
  <packaging>war</packaging>
  <!-- ... 其他配置 ... -->
</project>

示例 Jenkins 配置步骤:

  • 源码管理:配置为 Git 仓库。
  • 构建触发器:选择适合的触发器,如定时触发或者提交代码后自动构建。
  • 构建环境:配置 Maven 版本。
  • 构建操作:执行 Maven 打包命令 mvn clean package
  • Post-build Actions:添加 "Execute shell script" 或 "Send files or execute commands over SSH" 步骤,将 war 文件移动到 Tomcat 的 webapps 目录并重启 Tomcat。

示例 shell 脚本:




#!/bin/bash
 
# 停止 Tomcat
CATALINA_HOME=/path/to/tomcat
$CATALINA_HOME/bin/shutdown.sh
 
# 等待 Tomcat 完全停止
sleep 10
 
# 复制 war 文件到 Tomcat 的 webapps 目录
WAR_FILE=target/your-app.war
TOMCAT_WEBAPPS=$CATALINA_HOME/webapps
cp $WAR_FILE $TOMCAT_WEBAPPS
 
# 启动 Tomcat
$CATALINA_HOME/bin/startup.sh

注意:实际部署时,应确保 Jenkins 服务器有足够的权限执行这些操作,并且 Jenkins 服务器和 Tomcat 服务器的网络通讯是可以的。

2024-08-29

在Linux系统(如Deepin)上,您可以使用sqlplusisql(ODBC)来访问Oracle数据库。以下是如何使用这两种工具的简要说明和示例代码:

安装sqlplus:

  1. 确保您的系统已经安装了Oracle Instant Client。
  2. 下载并安装sqlplus。

使用sqlplus连接Oracle数据库:




# 设置环境变量
export ORACLE_HOME=/path/to/oracle/instantclient_19_3
export PATH=$PATH:$ORACLE_HOME
export LD_LIBRARY_PATH=$ORACLE_HOME
 
# 使用sqlplus连接数据库
sqlplus username/password@//hostname:port/SID

安装ODBC驱动并配置isql:

  1. 安装ODBC驱动(例如:unixODBC)。
  2. 配置ODBC数据源。

使用isql连接Oracle数据库:




# 配置ODBC数据源
odbcinst -i -s mydsn -f /path/to/odbc.ini
 
# 使用isql连接数据库
isql -v mydsn username password

在这些命令和配置中,请替换username, password, hostname, port, 和SID为您的Oracle数据库的实际登录信息。同时,请确保ORACLE_HOME和ODBC配置文件指向正确的路径和配置。