在云服务器上安装常用软件(如 Nginx 和 MySQL)通常可以通过包管理工具(如 yum、apt)或手动编译安装。以下是详细步骤,涵盖主流 Linux 发行版(CentOS/RHEL、Ubuntu/Debian)和 Windows 系统。
一、Linux 系统(推荐使用包管理工具安装)
1. 安装 Nginx
CentOS/RHEL(基于 yum/dnf)
添加 Nginx 官方仓库(可选,确保获取最新版本):
# 创建 Nginx 官方仓库文件 vi /etc/yum.repos.d/nginx.repo
写入以下内容:
[nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key
安装 Nginx:
yum install nginx -y
启动并设置开机自启:
systemctl start nginx systemctl enable nginx
验证安装:
访问服务器 IP(如 http://<服务器IP>),应看到 Nginx 欢迎页面。
检查状态:
systemctl status nginx
Ubuntu/Debian(基于 apt)
更新软件源:
apt update
安装 Nginx:
apt install nginx -y
启动并设置开机自启:
systemctl start nginx systemctl enable nginx
验证安装:
访问服务器 IP,检查 Nginx 是否运行。
2. 安装 MySQL/MariaDB
CentOS/RHEL
安装 MariaDB(默认仓库中的 MySQL 替代品):
yum install mariadb-server -y
注意:如需官方 MySQL,可参考 MySQL 官方文档 添加 MySQL Yum 仓库后安装。
启动并设置开机自启:
systemctl start mariadb systemctl enable mariadb
安全配置(设置 root 密码、移除匿名用户等):
mysql_secure_installation
验证安装:
登录 MySQL:
mysql -u root -p
执行 STATUS; 查看服务状态。
Ubuntu/Debian
安装 MySQL:
apt install mysql-server -y
启动并设置开机自启:
systemctl start mysql systemctl enable mysql
安全配置:
sudo mysql_secure_installation
验证安装:
登录 MySQL:
mysql -u root -p
3. 安装其他常用软件
安装 Git
# CentOS/RHEL yum install git -y # Ubuntu/Debian apt install git -y
安装 PHP(以 PHP 8.1 为例)
# CentOS/RHEL(需 EPEL 和 Remi 仓库) yum install epel-release -y yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y yum module enable php:remi-8.1 -y yum install php php-cli php-fpm php-mysqlnd -y # Ubuntu/Debian apt install software-properties-common -y add-apt-repository ppa:ondrej/php -y apt update apt install php8.1 php8.1-cli php8.1-fpm php8.1-mysql -y
安装 Redis
# CentOS/RHEL yum install epel-release -y yum install redis -y # Ubuntu/Debian apt install redis-server -y
启动并设置开机自启:
systemctl start redis systemctl enable redis
二、Windows 系统
在 Windows 云服务器上,可通过以下方式安装软件:
1. 使用官方安装包
Nginx:
下载 Windows 版 Nginx:官网,解压后通过命令行启动:nginx.exe
MySQL:
下载 MySQL Installer:官网,按向导安装并配置。
2. 使用 Chocolatey(包管理工具)
安装 Chocolatey:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
安装软件:
choco install nginx -y choco install mysql -y
三、自动化部署(脚本化安装)
1. 使用 Shell 脚本(Linux)
创建脚本 install_nginx_mysql.sh:
#!/bin/bash # 安装 Nginx yum install -y nginx # CentOS # apt update && apt install -y nginx # Ubuntu # 安装 MySQL yum install -y mariadb-server # CentOS # apt install -y mysql-server # Ubuntu # 启动服务 systemctl start nginx && systemctl enable nginx systemctl start mariadb && systemctl enable mariadb # 安全配置 MySQL mysql_secure_installation <<EOF Y your_password your_password Y Y Y Y EOF
运行脚本:
chmod +x install_nginx_mysql.sh ./install_nginx_mysql.sh
2. 使用 Ansible(批量管理)
示例 Playbook install_nginx_mysql.yml:
- hosts: webservers become: yes tasks: - name: Install Nginx yum: name: nginx state: present - name: Start Nginx service: name: nginx state: started enabled: yes - name: Install MariaDB yum: name: mariadb-server state: present - name: Start MariaDB service: name: mariadb state: started enabled: yes - name: Secure MySQL command: mysql_secure_installation args: stdin: | Y your_password your_password Y Y Y Y
执行:
ansible-playbook -i inventory install_nginx_mysql.yml
四、常见问题
Nginx 启动失败
检查端口冲突:netstat -tulnp | grep 80
查看日志:journalctl -u nginx -xe 或 /var/log/nginx/error.log
MySQL 无法远程连接
修改配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf(Ubuntu)或 /etc/my.cnf(CentOS),注释 bind-address = 127.0.0.1。
授权用户:GRANT ALL ON *.* TO 'user'@'%' IDENTIFIED BY 'password';
重启服务:systemctl restart mysql
防火墙放行端口
Linux(firewalld/iptables):
firewall-cmd --add-port=80/tcp --permanent && firewall-cmd --reload
Windows:在“高级安全 Windows 防火墙”中添加入站规则。
五、总结
软件 | Linux 安装方式 | Windows 安装方式 |
---|---|---|
Nginx | yum/apt install nginx | 下载官方包或 Chocolatey |
MySQL | yum/apt install mysql-server | MySQL Installer 或 Chocolatey |
Git | yum/apt install git | Chocolatey 或官方安装包 |
推荐:优先使用云服务商提供的镜像(如腾讯云的“一键 Web 环境”)或自动化工具(Ansible/Puppet)批量部署。