当前位置:   article > 正文

Linux环境在非root用户中搭建(java-tomcat-redis)

Linux环境在非root用户中搭建(java-tomcat-redis)

注: 本文在内网(离线)环境,堡垒机中搭建,服务器不同可能有所差异,仅供参考

本文安装JDK-20.0.1版本,apache-tomcat-10.1.10版本,redis-6.2.15版本

本文服务器IP假设:192.168.88.133

root用户创建子用户并赋予sudo权限

创建子用户-asia

sudo  adduser  asia

给子用户赋予sudo权限

使用root用户编辑 /etc/sudoers配置文件

vi  /etc/sudoers

  1. ## Allow root to run any commands anywhere
  2. root ALL=(ALL) ALL
  3. asia ALL=(ALL) ALL
  4. ## Same thing without a password
  5. # %wheel ALL=(ALL) NOPASSWD: ALL
  6. asia ALL=(ALL) NOPASSWD: ALL

在sudoers文件中找到上面两个位置,一个是sudo权限,另一个是使用是不用输入密码

编辑后按ESC键,输入 :wq!,强制保持退出

切换asia用户

安装jdk-20.0.1

创建目录

mkdir -p 父目录/子目录

压缩包(jdk-20.0.1.tar.gz)放到java目录下:/home/asia/usr/local/java

解压jdk

  1. 解压
  2. tar -zxvf jdk-20.0.1.tar.gz /home/asia/usr/local/java

配置环境

  1. 输入nano ~/.bashrc进入配置文件
  2. 加入配置:
  3. export JAVA_HOME=/home/asia/usr/local/java/jdk-20.0.1
  4. export PATH=$JAVA_HOME/bin:$PATH
  5. 编辑后:Ctrl+O 保持文件
  6. 按ENTER确认
  7. Ctrl+X 退出编辑
  8. 刷新配置文件 命令:source ~/.bashrc

一开始没有配置sudo权限,所以这样配置的环境,不影响使用

查看版本

  1. 输入命令:java -version
  2. [asia@localhost ~]$ java -version
  3. openjdk version "20.0.1" 2023-04-18
  4. OpenJDK Runtime Environment (build 20.0.1+9-29)
  5. OpenJDK 64-Bit Server VM (build 20.0.1+9-29, mixed mode, sharing)
  6. [asia@localhost ~]$
  7. 显示20.0.1是jdk版本代表成功!

安装TomCat

创建目录

mkdir -p 父目录/子目录

压缩包(apache-tomcat-10.1.10.tar.gz)放到java目录下:/home/asia/usr/local/tomcat

解压tomcat

  1. cd到/home/asia/usr/local/tomcat
  2. 解压 tar -zxvf apache-tomcat-10.1.10.tar.gz
  3. 解压后进入tomcat的bin目录
  4. cd /home/asia/usr/local/tomcat/apache-tomcat-10.1.10/bin
  5. 启动:./startup.sh
  6. 关闭:./shutdown.sh

启动后访问172.35.1.181:8080不能进入ManagerApp

添加tomcat用户

  1. cd /home/asia/usr/local/tomcat/apache-tomcat-10.1.10/conf
  2. vim tomcat-users.xml
  3. tomcat-users.xml最下面加入以下内容:
  4. <role rolename="manager-gui"/>
  5. <user username="admin" password="admin" roles="manager-gui"/>
  6. 关闭tomcat服务重新启动

发现仍然无法访问ManagerApp

配置远程访问

  1. cd /home/asia/usr/local/tomcat/apache-tomcat-10.1.10/conf/Catalina/localhost
  2. vi manager.xml
  3. Manager.xml加入以下内容:
  4. <Context privileged="true" antiResourceLocking="false"
  5. docBase="${catalina.home}/webapps/manager">
  6. <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
  7. </Context>
  8. 重启tomcat:./startup.sh
  9. 此时ManagerApp可以访问了

限制上传war包大小

  1. 上传war报错:文件太大
  2. cd /home/asia/usr/local/tomcat/apache-tomcat-10.1.10/webapps/manager/WEB-INF
  3. vim web.xml
  4. 修改web.xml文件(原50MB)
  5. <!-- 200MB max -->
  6. <max-file-size>209715200</max-file-size>
  7. <max-request-size>209715200</max-request-size>
  8. <file-size-threshold>0</file-size-threshold>
  9. </multipart-config>

配置tomcat服务

  1. sudo vim /etc/systemd/system/tomcat.service
  2. 插入:
  3. [Unit]
  4. Description=Apache Tomcat Web Application Container
  5. After=network.target
  6. [Service]
  7. Type=forking
  8. User=asia
  9. Group=asia
  10. Environment="JAVA_HOME=/home/asia/usr/local/java/jdk-20.0.1"
  11. Environment="CATALINA_PID=/home/asia/usr/local/tomcat/apache-tomcat-10.1.10/temp/tomcat.pid"
  12. ExecStart=/home/asia/usr/local/tomcat/apache-tomcat-10.1.10/bin/startup.sh
  13. ExecStop=/home/asia/usr/local/tomcat/apache-tomcat-10.1.10/bin/shutdown.sh
  14. [Install]
  15. WantedBy=multi-user.target

刷新配置

sudo systemctl daemon-reload

启动tomcat服务

  1. 查看进程:ps aux|grep tomcat
  2. 如果有进程就杀掉:kill -9 [Pid]
  3. 启动服务
  4. sudo systemctl start tomcat
  5. 查看服务状态
  6. sudo systemctl status tomcat
  7. 关闭服务
  8. sudo systemctl stop tomcat
  9. 重启服务
  10. sudo systemctl restart tomcat

安装redis

创建目录

mkdir -p 父目录/子目录

压缩包(redis-6.2.14.tar.gz)放到java目录下:/home/asia/usr/local/redis

解压redis

  1. cd到 /home/asia/usr/local/redis
  2. 解压 tar -zxvf redis-6.2.14.tar.gz
  3. (此处解压后的redis-6.2.15本文改名为redis)

编译

  1. make
  2. cd 到 redis
  3. 使用make PREFIX=/home/asia/usr/local/redis/redis install

配置密码

  1. vi redis.conf
  2. 注释掉:#bind 127.0.0.1 -::1
  3. 修改密码:requirepass Asia@88220660 (取消注释编辑密码)
  4. 打开配置,密码生效:protected-mode yes

修改脚本

  1. cd /home/asia/usr/local/redis/redis/utils
  2. 编辑 install_server.sh 文件以下脚本内容注释
  3. #bail if this system is managed by systemd
  4. #_pid_1_exe="$(readlink -f /proc/1/exe)"
  5. #if [ "${_pid_1_exe##*/}" = systemd ]
  6. #then
  7. # echo "This systems seems to use systemd."
  8. # echo "Please take a look at the provided example service unit files in this #directory, and adapt and install them. Sorry!"
  9. # exit 1
  10. #fi

创建服务脚本

  1. cd /home/asia/usr/local/redis/redis/utils
  2. vim install_server_command.sh
  3. 插入:
  4. sudo REDIS_PORT=6379
  5. REDIS_CONFIG_FILE=/home/asia/usr/local/redis/redis/redis.conf
  6. REDIS_LOG_FILE=/home/asia/usr/local/redis/redis/bin/redis.log
  7. REDIS_DATA_DIR=/home/asia/usr/local/redis/redis/bin/
  8. REDIS_EXECUTABLE=`command -v /home/asia/usr/local/redis/redis/bin/redis-server`
  9. /home/asia/usr/local/redis/redis/utils/install_server.sh

配置redis服务

  1. vim /etc/systemd/system/redis.service
  2. [Unit]
  3. Description=redis-server
  4. After=network.target
  5. [Service]
  6. ExecStart=/home/asia/usr/local/redis/redis/bin/redis-server /home/asia/usr/local/redis/redis/redis.conf
  7. ExecStop=/home/asia/usr/local/redis/redis/bin/redis-cli -h 127.0.0.1 -p 6379 shutdown
  8. [Install]
  9. WantedBy=multi-user.target

启动redis服务

  1. 刷新配置
  2. sudo systemctl daemon-reload
  3. 切换asia
  4. 查看进程:ps aux|grep redis
  5. 如果有进程就杀掉:kill -9 [Pid]
  6. 启动服务
  7. sudo systemctl start redis
  8. 查看服务状态
  9. sudo systemctl status redis
  10. 关闭服务
  11. sudo systemctl stop redis
  12. 重启服务
  13. sudo systemctl restart redis

外部连接失败,因为redis运行中是受保护的模式,修改即可

  1. redis-cli
  2. config set protected-mode “no”
  3. 退出exit

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/703187
推荐阅读
相关标签
  

闽ICP备14008679号