服务器测评网
我们一直在努力

oneinstack 添加域名

OneStack 作为一款集成了 LNMP、LAMP、LNMT 等常见 Web 环境的自动化安装工具,因其简洁高效的操作方式,被广泛用于快速搭建 Web 服务器,在服务器环境中,为网站添加域名是核心操作之一,本文将详细介绍通过 OneStack 添加域名的完整流程、注意事项及常见问题解决方法,帮助用户顺利完成域名配置。

添加域名前的准备工作

在开始操作前,需确保以下条件已满足,避免因环境不兼容或配置缺失导致操作失败。

确认 OneStack 环境正常运行

OneStack 安装完成后,默认会启动 Nginx/Apache、MySQL/MariaDB、PHP-FPM 等核心服务,可通过以下命令检查服务状态:

  • Nginx:systemctl status nginx
  • Apache:systemctl status httpd
  • PHP-FPM:systemctl status php-fpm(若使用 PHP 环境)
    若服务未启动,可通过 systemctl start 服务名 启动,并设置开机自启:systemctl enable 服务名

域名解析与备案

  • 域名解析:需在域名解析服务商(如阿里云、腾讯云)处,将域名解析至服务器的公网 IP 地址,解析生效后,可通过 nslookup 域名 命令验证是否指向正确 IP。
  • 备案要求:若服务器位于中国大陆,需完成 ICP 备案;若使用海外服务器,则无需备案。

网站文件准备

提前将网站源码上传至服务器指定目录,默认 OneStack 网站根目录为 /data/wwwroot/,建议为每个域名创建独立目录(如 /data/wwwroot/example.com),并设置正确的文件权限:

chown -R www:www /data/wwwroot/example.com  # 设置所有者为 Web 服务用户
chmod -R 755 /data/wwwroot/example.com       # 设置目录权限为 755,文件为 644

通过 OneStack 添加域名的详细步骤

OneStack 支持命令行和可视化界面两种方式添加域名,本文以更常用的命令行操作为例(以 Nginx 环境为例,Apache 环境类似)。

进入 OneStack 虚拟主机配置目录

OneStack 的虚拟主机配置文件存放在 /root/oneinstack/vhost/ 目录下,根据环境类型进入对应子目录(Nginx 环境为 /root/oneinstack/vhost/nginx/):

cd /root/oneinstack/vhost/nginx/

创建虚拟主机配置文件

OneStack 提供了配置文件模板,可直接复制并修改:

cp vhost.conf.template example.com.conf

example.com.conf 为自定义配置文件名,建议与域名保持一致。

编辑配置文件

使用 vimnano 编辑器打开配置文件:

vim example.com.conf

配置文件核心参数说明如下(根据实际需求修改):

server {
    listen 80;
    server_name example.com www.example.com;  # 绑定域名,多个域名空格分隔
    root /data/wwwroot/example.com;          # 网站根目录路径
    index index.html index.htm index.php;    # 默认首页文件
    # PHP 环境配置(若使用 PHP)
    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    # 静态文件缓存(可选)
    location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {
        expires 30d;
    }
    # 安全配置(可选,禁止访问隐藏文件)
    location ~ /\. {
        deny all;
    }
}

注意事项

  • 若需支持 HTTPS,需先配置 SSL 证书(后续章节说明),并将 listen 80 修改为 listen 443 ssl,并添加证书相关参数。
  • 若网站使用伪静态,需在 location 块中添加伪静态规则(如 WordPress 的 try_files $uri $uri/ /index.php?$args;)。

检查配置文件语法

保存退出后,需检查 Nginx 配置文件语法是否正确,避免因语法错误导致服务无法启动:

nginx -t

若提示 syntax is oktest is successful,则语法正确;否则需返回配置文件修改错误。

重启 Nginx 服务

配置文件无误后,重启 Nginx 使配置生效:

systemctl restart nginx

验证域名访问

在浏览器中输入绑定的域名(如 http://example.com),若能正常显示网站内容,则域名添加成功,若无法访问,可通过以下命令排查:

  • 检查 Nginx 错误日志:tail -f /var/log/nginx/error.log
  • 检查网站目录权限:ls -ld /data/wwwroot/example.com

SSL 证书配置(HTTPS 支持)

现代网站推荐启用 HTTPS 以提升安全性,OneStack 支持通过 Let’s Encrypt 免费证书或自定义证书配置 HTTPS。

申请 Let’s Encrypt 证书

OneStack 集成了 acme.sh 脚本,可一键申请免费证书:

/root/oneinstack/acme.sh issue --nginx -d example.com -d www.example.com

命令参数说明:

  • --nginx:自动适配 Nginx 配置
  • -d:指定域名,可添加多个

配置 HTTPS 虚拟主机

编辑域名配置文件,添加 HTTPS 相关配置(HTTP 自动跳转 HTTPS):

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;  # HTTP 强制跳转 HTTPS
    # 以下为 HTTPS 配置
    listen 443 ssl;
    ssl_certificate /root/oneinstack/cert/example.com/fullchain.cer;  # 证书文件路径
    ssl_certificate_key /root/oneinstack/cert/example.com/example.com.key;  # 私钥文件路径
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384;
}

证书路径需根据实际申请结果修改,可通过 acme.sh --list 查看已申请证书。

重启 Nginx 生效

systemctl restart nginx

访问 https://域名,若浏览器显示安全锁图标,则 HTTPS 配置成功。

常见问题与解决方法

域名访问提示 “403 Forbidden”

原因:网站目录权限不正确或 Nginx 配置中 root 路径错误。
解决

  • 检查目录权限:chown -R www:www /data/wwwroot/域名
  • 检查 root 路径是否与实际网站目录一致。

PHP 页面显示源码而非解析结果

原因:PHP-FPM 服务未启动或 Nginx 配置中 PHP 处理规则错误。
解决

  • 启动 PHP-FPM:systemctl start php-fpm
  • 检查配置文件中 location ~ \.php$ 块是否正确配置 fastcgi_passSCRIPT_FILENAME

SSL 证书配置后仍提示不安全

原因:证书路径错误、证书过期或浏览器缓存。
解决

  • 检查证书文件路径是否正确:ls -l /root/oneinstack/cert/域名/
  • 更新证书:acme.sh renew --force -d 域名
  • 清理浏览器缓存或强制刷新(Ctrl+F5)。

通过 OneStack 添加域名是搭建 Web 服务器的关键步骤,核心在于正确配置虚拟主机文件、确保服务权限与域名解析生效,在实际操作中,建议提前备份配置文件,遇到问题时通过日志排查,随着 HTTPS 的普及,配置 SSL 证书已成为提升网站安全性的必要操作,OneStack 集成的证书管理工具可大幅简化流程,掌握以上方法,用户可高效完成域名添加与网站部署,为后续的网站运维奠定基础。

赞(0)
未经允许不得转载:好主机测评网 » oneinstack 添加域名