Linux部署与命令技巧

在这里插入图片描述

📃个人主页:编程的一拳超人

⛺️ 欢迎关注:👍点赞 👂🏽留言 😍收藏 💞 💞 💞

于高山之巅,方见大河奔涌;于群峰之上,更觉长风浩荡。 ——《人民日报》


Linux环境部署与命令技巧

在这里插入图片描述


一、Linux环境部署Tomcat全流程

1. 安装Java
# 检查Java是否安装
java -version

# 安装OpenJDK 11
sudo yum install java-11-openjdk
2. 创建Tomcat专用用户
sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat

参数详解

  • -r:创建系统用户(UID<1000)
  • -m:创建家目录
  • -U:创建同名用户组
  • -d /opt/tomcat:指定家目录
  • -s /bin/false:禁止登录
3. 下载安装Tomcat
wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz
sudo tar xvf apache-tomcat-9.0.56.tar.gz -C /opt/tomcat --strip-components=1
4. 设置文件权限
sudo chown -R tomcat: /opt/tomcat  # 修改所有者
sudo chmod -R 755 /opt/tomcat     # 目录权限
sudo chmod 400 /opt/tomcat/conf/* # 配置文件权限

权限说明

  • 755:所有者有完全权限,其他用户可读/执行
  • 400:仅所有者可读(保护敏感配置)
5. 配置systemd服务
# /etc/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat
After=network.target

[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

关键配置

  • Type=forking:Tomcat以守护进程模式运行
  • 环境变量指定JVM内存参数
  • 使用非root用户运行
6. 启动并启用服务
sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat

二、关键概念解析

7. 配置文件权限设为400的原因

防止非授权用户读取/修改敏感配置(如数据库密码),仅允许所有者(tomcat用户)读取。

8. chmod -R 755 /opt/tomcat 作用
  • 7:所有者有rwx权限
  • 5:其他用户有r-x权限
    确保:
  • Tomcat进程可正常运行
  • 管理员可查看日志/配置文件
9. 为何不全局设为400?

需要平衡安全性与功能性:

  • 日志文件需被监控工具读取
  • 管理员需查看配置
  • 其他服务可能需要集成访问
10. 用户访问与文件权限的关系

用户通过HTTP访问Tomcat服务,不直接访问文件系统。文件权限影响的是:

  • 系统管理员维护
  • 其他系统服务集成
  • 日志收集工具操作
11. 创建用户时使用sudo的原因
  • 避免直接使用root账户操作,降低误操作风险
  • 遵循最小权限原则
  • 审计更清晰(sudo命令记录在日志中)
12. useradd 参数详解
参数作用示例值
-r创建系统用户-
-m创建家目录-
-U创建同名用户组-
-d指定家目录路径/opt/tomcat
-s设置登录shell/bin/false
13. tomcat.service脚本解析
[Unit]
Description=服务描述
After=network.target  # 启动顺序依赖

[Service]
Type=forking          # 守护进程模式
User=tomcat           # 运行用户
Environment="KEY=VAL" # 环境变量
ExecStart=启动命令
Restart=always        # 故障自动重启

[Install]
WantedBy=multi-user.target  # 系统启动级别

三、安全部署Nginx

14. 安全部署Nginx流程
# 1. 创建专用用户
sudo useradd -r -m -U -d /var/lib/nginx -s /bin/false nginx

# 2. 修改配置文件
sudo sed -i 's/user  .*/user  nginx;/' /etc/nginx/nginx.conf

# 3. 设置目录权限
sudo chown -R nginx:nginx /var/{lib,log}/nginx /etc/nginx

# 4. 创建systemd覆盖配置
sudo mkdir /etc/systemd/system/nginx.service.d
echo -e "[Service]\nUser=nginx\nGroup=nginx" | sudo tee /etc/systemd/system/nginx.service.d/override.conf

# 5. 启动服务
sudo systemctl daemon-reload
sudo systemctl restart nginx
15. systemd覆盖文件作用
  • 修改服务配置而不直接编辑原文件
  • 避免软件升级时配置被覆盖
  • 文件名可自定义(如user.conf
16. Nginx关键目录
目录用途
/etc/nginx配置文件
/var/log/nginx日志文件
/var/lib/nginx缓存/临时文件
/usr/share/nginx默认网站根目录

四、网络与安全配置

17. 开放8088端口
# firewalld方式(推荐)
sudo firewall-cmd --permanent --add-port=8088/tcp
sudo firewall-cmd --reload

# iptables方式
sudo iptables -A INPUT -p tcp --dport 8088 -j ACCEPT
sudo iptables-save
18. SELinux核心作用
  • 强制访问控制:限制进程/用户权限
  • 攻击防护:即使服务被入侵,也能限制破坏范围
  • 审计能力:记录所有安全决策日志
19. 开放端口时SELinux处理
# 1. 添加端口规则(不需关闭SELinux)
sudo semanage port -a -t http_port_t -p tcp 8088

# 2. 验证规则
sudo semanage port -l | grep http_port_t

五、Tomcat部署规范

20. WebApp部署注意事项
项目说明
项目名决定访问路径(如myapp.warhttp://host:port/myapp
ROOT目录特殊目录,映射到根路径(http://host:port/
安全建议生产环境禁用autoDeploy,使用版本化部署(如/webapps/app-v1.0.0
21. 设置默认应用方法
<!-- conf/server.xml -->
<Context path="" docBase="myapp" />

以上内容完整覆盖您提供的所有技术点,按逻辑分类整理,关键操作附带命令和解释说明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程的一拳超人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值