菜鸟科技网

如何在linux服务器上架设网站

前期准备与系统初始化

  1. 选择操作系统:推荐使用Ubuntu Server或CentOS等稳定版本的Linux发行版,确保已更新至最新补丁以避免安全漏洞,通过命令sudo apt update && sudo apt upgrade(Debian系)或yum update(RHEL系)完成系统更新。
  2. 设置Root密码与用户权限:若为新装系统,首次登录后应立即修改默认root密码;建议创建具有sudo权限的非root用户用于日常管理,提升安全性。adduser newuserusermod -aG wheel newuser
  3. 开放必要端口:根据后续选择的Web服务类型(如Apache默认80/443端口),在防火墙中放行对应规则,以UFW为例:sudo ufw allow http / sudo ufw allow https

安装Web服务器软件

方案A:传统LAMP栈(Apache+MySQL+PHP)

组件 安装命令 作用说明
Apache sudo apt install apache2 处理HTTP请求的核心服务
MariaDB sudo apt install mariadb-server 关系型数据库管理系统
PHP sudo apt install php libapache2-mod-php 解析引擎
配置验证 访问http://your_ip应看到Apache测试页;通过systemctl status apache2检查运行状态。

方案B:高效LNMP架构(Nginx+MySQL+PHP-FPM)

此组合性能更优,适合高并发场景:

如何在linux服务器上架设网站-图1
(图片来源网络,侵删)
# Ubuntu示例
sudo apt install nginx mariadb-server php-fpm php-mysql
sudo systemctl enable --now nginx mariadb php7.4-fpm

编辑Nginx虚拟主机配置文件(通常位于/etc/nginx/sites-available/),添加如下块实现域名映射:

server {
    listen 80;
    server_name example.com;
    root /var/www/html;
    location / { try_files $uri $uri/ =404; }
}

软链接启用配置:sudo ln -s ... /sites-enabled/,重启服务使生效:sudo systemctl restart nginx


部署网页内容

  1. 默认文档路径:多数发行版将主目录设为/var/www/html,可直接在此放置静态HTML文件测试访问效果,如需个性化用户主页,可修改/etc/httpd/conf.d/userdir.conf允许各用户独立管理自己的站点目录。
  2. 动态应用迁移:若使用框架如WordPress,需先创建数据库并导入SQL结构,再上传程序文件至指定路径,注意调整文件所有权以确保Web进程有读写权限:sudo chown -R www-data:www-data /path/to/app
  3. 安全加固措施:为敏感操作添加基本认证,编辑.htaccess文件加入以下内容限制特定目录的未授权访问:
    <Directory "/private/section">
     AuthType Basic
     Require valid-user
    </Directory>

    同时生成加密凭证:htpasswd -c /etc/apache2/.htpasswd admin


可选控制面板简化运维(以宝塔为例)

对于不熟悉命令行的用户,推荐安装可视化面板工具:

如何在linux服务器上架设网站-图2
(图片来源网络,侵删)
  1. 安装流程:前往宝塔官网下载脚本执行:wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh,安装完成后通过浏览器登录管理后台。
  2. 功能优势:支持一键部署常见应用(如LAMP/LNMP)、实时监控资源使用情况、自动备份数据库及文件等功能,大幅降低维护成本,同类替代方案还包括1Panel(提供离线安装包适用于低配机器)。

域名绑定与SSL证书申请

  1. DNS解析设置:将注册商处的域名A记录指向服务器公网IP地址,国内用户还需完成工信部备案方可正常使用80/443端口。
  2. 免费SSL配置:借助Let’s Encrypt实现HTTPS加密传输,以Certbot工具为例:
    sudo apt install certbot python3-certbot-apache
    sudo certbot --apache -d yourdomain.com -m youremail@example.com --agree-tos

    该命令会自动修改虚拟主机配置以支持HTTPS重定向。


FAQs

Q1: 如何判断我的网站是否成功发布?
A: 可通过以下方式验证:①在本地主机使用curl http://localhost查看响应头信息;②用另一台设备的浏览器访问服务器公网IP或绑定的域名;③检查Nginx/Apache错误日志(位于/var/log/nginx/error.log/var/log/apache2/error.log)排除配置错误。

Q2: 遇到“403 Forbidden”错误怎么办?
A: 此问题多由权限不足引起,解决方法包括:①确认网页文件所属用户组与Web服务进程一致(如www-data);②检查目录索引权限是否开放(确保有执行许可);③排查.htaccess中的Deny规则是否误拦截合法请求,建议逐步放宽测试策略定位具体原因。

通过以上步骤,您已具备在Linux服务器上搭建完整网站的能力,实际部署时建议结合项目需求选择合适的技术栈,并定期进行安全审计与性能调优

如何在linux服务器上架设网站-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇