菜鸟科技网

Linux 建站常用命令有哪些?

在Linux系统中进行网站搭建是运维和开发人员的基本技能之一,熟练掌握相关命令可以高效完成环境配置、服务部署及管理任务,以下从基础环境准备、Web服务安装、数据库配置、网站部署及安全管理等方面,详细梳理Linux建站的核心命令及操作步骤。

Linux 建站常用命令有哪些?-图1
(图片来源网络,侵删)

基础环境准备

在搭建网站前,需确保系统基础环境配置到位,包括更新系统、安装必要工具及配置网络。

  1. 更新系统软件包
    使用包管理器更新系统,确保软件版本最新,避免兼容性问题,以CentOS和Ubuntu为例:

    • CentOS(基于yum/dnf):
      sudo yum update -y  # CentOS 7及以下
      sudo dnf update -y  # CentOS 8及以上
    • Ubuntu(基于apt):
      sudo apt update && sudo apt upgrade -y
  2. 安装常用工具
    建站过程中需借助工具如wget(下载文件)、vim(编辑文件)、net-tools(网络管理)等:

    # CentOS系统
    sudo yum install -y wget vim net-tools unzip
    # Ubuntu系统
    sudo apt install -y wget vim net-tools unzip
  3. 配置防火墙与SELinux
    开放Web服务常用端口(80 HTTP、443 HTTPS),并关闭SELinux(或配置策略):

    Linux 建站常用命令有哪些?-图2
    (图片来源网络,侵删)
    • CentOS防火墙(firewalld):
      sudo firewall-cmd --permanent --add-service=http
      sudo firewall-cmd --permanent --add-service=https
      sudo firewall-cmd --reload
    • 关闭SELinux(临时关闭,重启后失效):
      sudo setenforce 0

      永久关闭需编辑/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled后重启系统。

Web服务安装与配置

Web服务器是网站运行的核心,常用服务有Apache(httpd)和Nginx,以下分别介绍安装及配置命令。

安装Apache(httpd)

Apache是成熟的开源Web服务器,支持模块化扩展。

  • 安装Apache
    # CentOS系统
    sudo yum install -y httpd
    # Ubuntu系统
    sudo apt install -y apache2
  • 启动并设置开机自启
    # CentOS
    sudo systemctl start httpd
    sudo systemctl enable httpd
    # Ubuntu
    sudo systemctl start apache2
    sudo systemctl enable apache2
  • 配置虚拟主机
    编辑Apache配置文件(CentOS路径为/etc/httpd/conf/httpd.conf,Ubuntu为/etc/apache2/sites-available/000-default.conf),添加以下内容:
    <VirtualHost *:80>
        ServerAdmin webmaster@example.com
        DocumentRoot /var/www/example.com
        ServerName example.com
        ServerAlias www.example.com
        <Directory /var/www/example.com>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>

    创建网站目录并设置权限:

    Linux 建站常用命令有哪些?-图3
    (图片来源网络,侵删)
    sudo mkdir -p /var/www/example.com
    sudo chown -R apache:apache /var/www/example.com  # CentOS
    sudo chown -R www-data:www-data /var/www/example.com  # Ubuntu

    重启Apache服务使配置生效:

    sudo systemctl restart httpd  # CentOS
    sudo systemctl restart apache2  # Ubuntu

安装Nginx

Nginx以其高性能、低资源占用著称,适合处理高并发请求。

  • 安装Nginx
    # CentOS系统(需安装EPEL源)
    sudo yum install -y epel-release
    sudo yum install -y nginx
    # Ubuntu系统
    sudo apt install -y nginx
  • 启动并设置开机自启
    sudo systemctl start nginx
    sudo systemctl enable nginx
  • 配置虚拟主机
    编辑Nginx配置文件(/etc/nginx/sites-available/default),添加以下内容:
    server {
        listen 80;
        server_name example.com www.example.com;
        root /var/www/example.com;
        index index.html index.php;
        location / {
            try_files $uri $uri/ =404;
        }
    }

    创建网站目录并设置权限:

    sudo mkdir -p /var/www/example.com
    sudo chown -R nginx:nginx /var/www/example.com  # CentOS
    sudo chown -R www-data:www-data /var/www/example.com  # Ubuntu

    测试配置文件并重启Nginx:

    sudo nginx -t
    sudo systemctl restart nginx

数据库安装与配置

网站数据存储通常依赖数据库,MySQL(MariaDB)是常用关系型数据库,以下介绍安装及基础操作命令。

安装MySQL/MariaDB

MariaDB是MySQL的分支,完全兼容MySQL语法。

  • CentOS系统安装MariaDB
    sudo yum install -y mariadb-server mariadb
    sudo systemctl start mariadb
    sudo systemctl enable mariadb
  • Ubuntu系统安装MySQL
    sudo apt install -y mysql-server
    sudo systemctl start mysql
    sudo systemctl enable mysql

数据库基础操作

  • 安全初始化(设置root密码、移除匿名用户等):
    sudo mysql_secure_installation  # 根据提示操作
  • 登录数据库
    mysql -u root -p
  • 创建数据库及用户
    CREATE DATABASE example_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER 'example_user'@'localhost' IDENTIFIED BY 'your_password';
    GRANT ALL PRIVILEGES ON example_db.* TO 'example_user'@'localhost';
    FLUSH PRIVILEGES;

网站部署与测试

网站文件通常通过FTP/SFTP上传或Git克隆部署,以下以静态网站和PHP网站为例。

静态网站部署

将网站文件(如HTML、CSS、JS)上传至Web服务器根目录(Apache为/var/www/html,Nginx为/usr/share/nginx/html):

# 使用wget下载示例静态文件
sudo wget -O /var/www/html/index.html https://example.com/static-template.zip
# 解压(如为zip文件)
sudo unzip -o /var/www/html/static-template.zip -d /var/www/html/

访问服务器IP或域名,即可查看静态网站。

PHP网站部署(以WordPress为例)

若网站依赖PHP环境,需安装PHP及扩展:

  • 安装PHP及扩展(以CentOS为例):
    sudo yum install -y php php-mysql php-fpm php-gd php-mbstring
    sudo systemctl restart httpd  # 若使用Apache,需启用PHP模块
  • 部署WordPress
    # 下载WordPress
    cd /tmp
    wget https://wordpress.org/latest.tar.gz
    tar -xzvf latest.tar.gz
    # 复制至网站目录
    sudo cp -r wordpress/* /var/www/example.com/
    sudo chown -R apache:apache /var/www/example.com  # CentOS
  • 配置数据库连接
    复制wp-config-sample.phpwp-config.php并修改数据库信息:
    sudo cp /var/www/example.com/wp-config-sample.php /var/www/example.com/wp-config.php
    sudo vim /var/www/example.com/wp-config.php

    修改以下内容:

    define('DB_NAME', 'example_db');
    define('DB_USER', 'example_user');
    define('DB_PASSWORD', 'your_password');
    define('DB_HOST', 'localhost');

网站安全管理

  1. 定期备份
    备份网站文件和数据库是关键操作:

    • 备份网站文件:
      sudo tar -czf /backup/website_$(date +%Y%m%d).tar.gz /var/www/example.com
    • 备份数据库:
      mysqldump -u root -p example_db > /backup/database_$(date +%Y%m%d).sql
  2. 更新软件版本
    定期更新Web服务器、数据库及PHP版本,修复安全漏洞:

    # CentOS
    sudo yum update -y httpd mari php
    # Ubuntu
    sudo apt update && sudo apt upgrade -y apache2 mysql-server php

相关问答FAQs

问题1:如何检查Linux系统中Web服务是否正常运行?
解答:可通过以下命令检查Web服务状态及端口监听情况:

  1. 检查服务状态:
    sudo systemctl status httpd  # Apache
    sudo systemctl status nginx   # Nginx
  2. 检查端口监听(80为HTTP端口,443为HTTPS端口):
    sudo netstat -tuln | grep :80
    # 或使用ss命令
    sudo ss -tuln | grep :80
  3. 通过浏览器访问服务器IP或域名,若显示网站内容则服务正常。

问题2:忘记MySQL root密码时如何重置?
解答:重置MySQL root密码需跳过权限表启动服务,具体步骤如下(以CentOS为例):

  1. 停止MySQL服务:
    sudo systemctl stop mariadb
  2. 跳过权限表启动:
    sudo mysqld_safe --skip-grant-tables &
  3. 登录MySQL并重置密码:
    mysql -u root

    执行以下SQL(注意MySQL 5.7及以上版本需更新authentication_string字段):

    UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';
    FLUSH PRIVILEGES;
    EXIT;
  4. 重启MySQL服务:
    sudo pkill mysqld_safe
    sudo systemctl start mariadb

    使用新密码登录即可。

分享:
扫描分享到社交APP
上一篇
下一篇