在麒麟操作系统上部署基础Web服务的简明教程。我们将涵盖Web服务器(Nginx或Apache)、数据库(MySQL/MariaDB)的安装、配置以及基本的安全设置。
1. 准备工作
- 系统更新:确保您的系统是最新的。打开终端,执行以下命令:
sudo apt update && sudo apt upgrade -ysudo apt update:更新可用软件包列表。sudo apt upgrade -y:升级所有可升级的软件包(-y表示自动确认)。
- 安装基础工具(可选,但推荐):
sudo apt install -y curl wget vim net-toolscurl,wget:用于从网络下载文件。vim:一个强大的文本编辑器(您也可以用nano)。net-tools:包含如netstat等网络诊断工具。
2. 选择并安装Web服务器
选项A:安装Nginx
- 安装:
sudo apt install -y nginx - 启动并设置开机自启:
sudo systemctl start nginx sudo systemctl enable nginx验证:
- 在浏览器中访问服务器的IP地址或域名(如
http://<your_server_ip>)。 - 或者使用命令行:
应看到类似curl -I 127.0.0.1HTTP/1.1 200 OK的响应。
- 在浏览器中访问服务器的IP地址或域名(如
- 配置:
- 默认网站根目录:
/var/www/html - 主配置文件:
/etc/nginx/nginx.conf - 站点配置文件通常放在:
/etc/nginx/sites-available/和/etc/nginx/sites-enabled/。默认有一个default文件。 - 修改配置后,测试语法并重载:
sudo nginx -t # 测试配置语法 sudo systemctl reload nginx # 重载配置(不中断服务)
- 默认网站根目录:
选项B:安装Apache HTTP Server
- 安装:
sudo apt install -y apache2 - 启动并设置开机自启:
sudo systemctl start apache2 sudo systemctl enable apache2 - 验证:
- 在浏览器中访问服务器的IP地址或域名(如
http://<your_server_ip>)。 - 或者使用命令行:
应看到类似curl -I 127.0.0.1HTTP/1.1 200 OK的响应。
- 在浏览器中访问服务器的IP地址或域名(如
- 配置:
- 默认网站根目录:
/var/www/html - 主配置文件:
/etc/apache2/apache2.conf - 模块和站点配置通常在
/etc/apache2/conf-available/,/etc/apache2/conf-enabled/,/etc/apache2/sites-available/,/etc/apache2/sites-enabled/。默认有一个000-default.conf。 - 修改配置后,测试语法并重载:
sudo apache2ctl configtest # 测试配置语法 sudo systemctl reload apache2 # 重载配置
- 默认网站根目录:
3. 安装数据库服务器(MySQL/MariaDB)
麒麟系统通常默认使用 MariaDB(兼容 MySQL)。
- 安装:
sudo apt install -y mariadb-server mariadb-client - 启动并设置开机自启:
sudo systemctl start mariadb sudo systemctl enable mariadb - 运行安全初始化脚本:
sudo mysql_secure_installation- 按提示操作:设置 root 密码?移除匿名用户?禁止远程 root 登录?移除测试数据库?重载权限表?建议都选择
Y(是)。
- 按提示操作:设置 root 密码?移除匿名用户?禁止远程 root 登录?移除测试数据库?重载权限表?建议都选择
- 登录测试:
输入您设置的 root 密码,应能进入 MariaDB/MySQL 命令行提示符sudo mysql -u root -pMariaDB [(none)]>。
4. 安装PHP(可选 - 用于动态网站)
如果您的 Web 应用需要 PHP(如 WordPress, Laravel 等)。
- 安装PHP核心及常用扩展:
sudo apt install -y php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zipphp-fpm:PHP FastCGI 进程管理器。php-mysql:连接 MySQL/MariaDB 的驱动。- 其他扩展根据您的应用需求选择安装。
- 配置Web服务器使用PHP-FPM:
- Nginx:在您的站点配置文件(如
/etc/nginx/sites-available/your_site)中,找到处理 PHP 请求的location块,确保它指向php-fpm的 socket(通常是fastcgi_pass unix:/run/php/phpX.X-fpm.sock;,X.X是 PHP 版本)。确保配置文件中有类似:location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/phpX.X-fpm.sock; } - Apache:通常安装
libapache2-mod-php后会自动启用 PHP 模块。确保/etc/apache2/mods-enabled/目录下有phpX.X.conf和phpX.X.load的链接(X.X是版本)。您可能需要启用模块:sudo a2enmod phpX.X # 替换为实际版本号
- Nginx:在您的站点配置文件(如
- 重启Web服务器:
# 对于Nginx sudo systemctl restart nginx # 对于Apache sudo systemctl restart apache2 - 测试PHP:
- 在网站根目录(如
/var/www/html)创建一个文件info.php:sudo vim /var/www/html/info.php - 内容:
<?php phpinfo(); ?> - 在浏览器中访问
http://<your_server_ip>/info.php。您应该看到详细的 PHP 配置信息页面。测试完成后务必删除此文件,因为它会暴露服务器信息:sudo rm /var/www/html/info.php
- 在网站根目录(如
5. 部署您的Web应用
- 上传文件:将您的网站文件(HTML, CSS, JavaScript, PHP 文件等)上传到 Web 服务器的根目录(通常是
/var/www/html)或您配置的虚拟主机目录。- 您可以使用
scp,sftp工具,或图形化工具如 FileZilla。
- 您可以使用
- 设置权限:确保 Web 服务器进程(通常是
www-data用户)对您的网站文件有读取权限,对需要写入的目录(如上传目录、缓存目录)有写入权限。sudo chown -R www-data:www-data /var/www/your_site_directory sudo chmod -R 755 /var/www/your_site_directory- 根据您的具体应用需求调整权限。
- 配置数据库:
- 登录数据库:
sudo mysql -u root -p - 创建应用专用的数据库和用户:
CREATE DATABASE your_app_db; CREATE USER 'your_app_user'@'localhost' IDENTIFIED BY 'your_strong_password'; GRANT ALL PRIVILEGES ON your_app_db.* TO 'your_app_user'@'localhost'; FLUSH PRIVILEGES; EXIT; - 在您的 Web 应用配置文件(如 WordPress 的
wp-config.php)中填入正确的数据库名、用户名、密码和主机(通常是localhost)。
- 登录数据库:
6. 基本安全加固
- 防火墙:确保防火墙(如
ufw)已启用,并仅开放必要的端口(如 80/HTTP, 443/HTTPS, 22/SSH)。sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw allow 22/tcp # SSH sudo ufw enable - 禁用不必要的服务:关闭您不使用的服务。
- 使用SSH密钥登录:禁用 SSH 密码登录,使用密钥对更安全。
- 定期更新:定期运行
sudo apt update && sudo apt upgrade。 - 配置SSL/TLS:使用 Let's Encrypt 等免费证书为您的域名启用 HTTPS。推荐使用
certbot工具自动化配置(需要域名已解析到服务器IP):# 安装 certbot (以 Nginx 为例) sudo apt install -y certbot python3-certbot-nginx # 获取并安装证书 sudo certbot --nginx -d your_domain.com -d www.your_domain.com # 设置自动续期 sudo certbot renew --dry-run- 对于 Apache,安装
python3-certbot-apache并使用--apache选项。
- 对于 Apache,安装
7. 测试
- 在浏览器中访问您的域名或服务器IP(如果启用了HTTPS,用
https://)。 - 确保网站按预期显示和运行。
- 检查 Web 服务器和数据库的日志文件以排查问题:
- Nginx:
/var/log/nginx/access.log,/var/log/nginx/error.log - Apache:
/var/log/apache2/access.log,/var/log/apache2/error.log - MariaDB/MySQL:
/var/log/mysql/error.log
- Nginx:
这个教程提供了一个基础的部署流程。具体细节(如复杂的 Nginx/Apache 虚拟主机配置、特定应用的优化、高级防火墙规则等)需要根据您的实际项目需求进行调整。

7835

被折叠的 条评论
为什么被折叠?



