阿里云服务器AlibabaCloudLinux3 配置环境

一、nginx安装与配置

bash 复制代码
## 执行:
sudo yum -y install nginx
## 执行成功后,运行下面命令查看nginx版本号
nginx -v
## 安装成功则返回类似下面的信息:
#: nginx version: nginx/1.20.1
## 安装目录:/etc/nginx
## html 目录: /usr/share/nginx/html

安装成功后再/etc/nginx目录下可以看到对应的文

二、安装mysql

bash 复制代码
## 执行以下命令安装mysql依赖包:
sudo yum install -y compat-openssl10
## 更新yum源:
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm
## 下载软件包索引信息:
yum makecache
## 安装mysql:
sudo yum -y install mysql-community-server
## 安装完成后,执行mysql -v 查看版本号
mysql -V
## 安装成功则返回类似下面信息
#:  mysql  Ver 8.0.43 for Linux on x86_64 (MySQL Community Server - GPL)

到这里安装结束

三、配置mysql

bash 复制代码
## 运行以下命令查看mysql初始密码:
sudo grep 'temporary password' /var/log/mysqld.log
## 执行后返回
## 2024-07-22T18:01:26.595215Z 1 [Note] A temporary password is generated for root@localhost: QEUSR5+****
## 其中QEUSR5+****为初始密码,可用于初始登录,并完成密码重置。
## 如果报错:如 Error: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
## 检查mysql服务状态:mysql 服务是否启动
systemctl status mysqld
## 出现以下结果为正常启动:
##  Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: enabled)
##  Active: active (running) since Mon 2025-09-15 21:32:40 CST; 51min ago

## 重启 MySQL 服务
systemctl restart mysqld

## 运行下面的命令设置mysql安全性,也就是在这一步完成密码重置
sudo mysql_secure_installation
## 运行后出现: 
# Securing the MySQL server deployment. Enter password for user root: #root用户初始密码 也就是上一步的QEUSR5+****

###  设置新的密码::
【
        The existing password for the user account root has expired. Please set a new password.
         
        New password: #输入新密码。长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号。特殊符号包含()` ~!@#$%^&*-+=|{}[]:;'<>,.?/
         
        Re-enter new password: #确认新密码。
        The 'validate_password' plugin is installed on the server.
        The subsequent steps will run with the existing configuration
        of the plugin.
        Using existing password for root.
         
        Estimated strength of the password: 100 #返回结果包含您设置的密码强度。
        Change the password for root ? (Press y|Y for Yes, any other key for No) :Y #您需要输入Y以确认使用新密码。
         
        #新密码设置完成后,需要再次验证新密码。
        New password:#再次输入新密码。
         
        Re-enter new password:#再次确认新密码。
         
        Estimated strength of the password: 100
        Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :Y #您需要输入Y,再次确认使用新密码。
        
        ## ======= 然后一路Y完成。========
】

------- 创建远程访问用户(这里不使用root用户),访问指定数据库
-- 删除数据库
-- DROP DATABASE `clue-cms`
-- 创建数据库
CREATE DATABASE `clue-crm`
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;

-- 1. 创建新用户 : % 代表可远程访问, localhost 只能本地访问
CREATE USER 'qxkj_clue'@'%' IDENTIFIED BY 'QXkj%clue@123';
-- 2. 为用户赋予指定数据库的权限
GRANT SELECT, INSERT, UPDATE, DELETE,DROP,CREATE  ON `clue-crm`.* TO 'qxkj_clue'@'%';
-- 3. 刷新权限
FLUSH PRIVILEGES;

四、安装JDK

bash 复制代码
## 首先查看可用软件包:
yum -y list java*
bash 复制代码
## 以JDK 17为例:这里安装便捷版本portable
sudo yum -y install java-17-openjdk-portable-devel.x86_64 
## 安装完成后执行
java -version
## 出现以下信息: 安装成功。
    openjdk version "17.0.16" 2025-07-15 LTS
    OpenJDK Runtime Environment (Red_Hat-17.0.16.0.8-1) (build 17.0.16+8-LTS)
    OpenJDK 64-Bit Server VM (Red_Hat-17.0.16.0.8-1) (build 17.0.16+8-LTS, mixed mode, sharing)
## 查看安装路径:
find /usr/lib/jvm -name 'java-17-openjdk-17*'
## 返回:usr/lib/jvm/java-17-openjdk-17.0.11.0.9-2.0.1.1.al8.x86_64
## 最后配置环境变量:
sudo vim /etc/profile
## 输入以下信息:
JAVA_HOME=/usr/lib/jvm/java-17-openjdk-17.0.11.0.9-2.0.1.1.al8.x86_64
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME CLASSPATH PATH
## 按Esc,输入:wq,保存退出。
## 执行:完成资源加载,环境变量生效。
source /etc/profile

五 、安装 Redis

bash 复制代码
## 首先查看可用软件包:
yum -y list redis*
## 安装Redis 
yum -y install redis 
## 查看安装路径:
whereis redis
    redis: /usr/lib64/redis /etc/redis.conf
find /usr/bin -name "redis*"
    /usr/bin/redis-benchmark
    /usr/bin/redis-check-rdb
    /usr/bin/redis-check-aof
    /usr/bin/redis-cli
    /usr/bin/redis-server
    /usr/bin/redis-sentinel
##查看版本
redis-cli --version
## 查看启动状态
systemctl status redis 
## 启动redis 服务 start / restart 
 systemctl start redis 
 
# 设置Redis 可远程访问:
 # 1.配置防火墙
  # 查看6379/tcp端口是否已开
  firewall-cmd --zone=public --query-port=6379/tcp
  # 如果没放行,通过以下命令放行6379端口
  sudo firewall-cmd --zone=public --add-port=6379/tcp --permanent
  # 重新启动防火墙
  sudo systemctl restart firewalld.service
 # 2.配置redis.conf (默认在/etc/redis.conf, 或通过 whereis redis.conf 查找)
  主要修改:
  bind参数,将其从127.0.0.1改为0.0.0.0,这样Redis就可以接受来自任何IP的连接
  protected-mode参数,将其从yes改为no,关闭保护模式,允许远程连接
  requirepass参数: 设置远程连接密码,以增强安全性 取消注释requirepass参数并设置一个强密码。
# 3 重启Redis服务
    # 根据redis.conf启动redis服务
    /redis-server redis.conf
# 4 测试连接
   redis-cli -h 主机IP -p 6379

六、常用到的一些命令

bash 复制代码
假设通过以下命令查到了 Java 服务的 PID:
$ ps -ef | grep java
   root 11312 1 0 10:00 ? 00:00:10 /usr/bin/java -jar app.jar

此时,PID 为 11312。
使用 netstat 查询端口
通过 netstat 命令结合 PID 查询端口:

$ netstat -anp | grep 11312

  tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 11312/java

结果显示该服务监听了 8080 端口。

使用 lsof 查询端口
 如果系统支持 lsof (yum install lsof 或 sudo apt-get install lsof),可以直接通过以下命令查询:

$ lsof -i :8080

或根据 PID 查询:

$ lsof -p 11312 | grep LISTEN


使用 kill 命令发送信号结束进程:
kill -15 <PID> -15 (SIGTERM):请求进程优雅退出。 
如果无效,可强制终止: 
kill -9 <PID> -9 (SIGKILL):强制终止进程。

结束进程
按名称直接结束所有匹配的进程:
$ pkill <进程名>
强制结束
$ pkill -9 <进程名>

在配置服务器之前,需要关闭防火墙和SELinux,避免因为权限账号的问题导致安装失败,产生安装垃圾。

关闭防火墙有几种情况:

bash 复制代码
## 临时关闭:实例重启后防火墙会自动开启
sudo systemctl stop firewalld
## 永久关闭:
sudo systemctl stop firewalld
## 同时可以配置实例开机之禁止启动防火墙:
sudo systemctl disable firewalld
## 命令执行成功后可以通过下面的命令 【查看防火墙状态】
systemctl status firewalld
## 其中Active :active(runing)防火墙为开启状态,需要重新执行关闭操作,Active :inactive,则防火墙为关闭状态
## 关闭SELinux:查看状态
getenforce
相关推荐
Miraitowa_cheems2 小时前
LeetCode算法日记 - Day 5: 长度最小的子数组、无重复字符的最长子串
linux·运维·服务器
木梯子2 小时前
深耕商业表达与 IP 打造,卢中伟导师:以表达赋能创始人成长
服务器·网络·tcp/ip
U盘失踪了2 小时前
VMware® Workstation 17 Pro 解决VMware Tools 安装
linux·运维·服务器
电子科技圈2 小时前
SmartDV首次以“全栈IP解决方案提供商”身份亮相Embedded World 2026
服务器·网络·人工智能
未来之窗软件服务2 小时前
服务器运维(四十四)Python Gradio服务器伪请求pseudo http —东方仙盟
运维·服务器·http·仙盟创梦ide·东方仙盟
vx-bot5556662 小时前
企业微信ipad协议的帧结构设计与编码实践
服务器·企业微信·ipad
w_t_y_y2 小时前
工具Cursor(六)Rules&Skill&Commands&subAgents对比
服务器·人工智能
银河麒麟操作系统2 小时前
服务器通用(全架构)【服务器存储系统原理与运维实践解析】技术文章
运维·服务器·架构
returnthem2 小时前
Docker基本命令
linux·运维·服务器
Albert Edison2 小时前
【ProtoBuf 语法详解】enum 类型
java·linux·服务器