温馨提示×

如何利用LNMP搭建动态网站

小樊
63
2025-03-24 04:32:58
栏目: 云计算

利用LNMP(Linux, Nginx, MySQL, PHP)搭建动态网站是一个相对简单且高效的过程。以下是详细的步骤指南:

1. 安装前的准备工作

  • 下载远程连接工具:推荐使用 SecureCRT。
  • 选择 Linux 发行版:如 Ubuntu、CentOS 等。

2. 安装 Nginx

  • 更新系统软件包
    sudo apt update 
  • 安装 Nginx
    sudo apt -y install nginx 
  • 验证安装
    sudo nginx -v 
  • 修改 Nginx 默认配置文件
    sudo vim /etc/nginx/sites-enabled/default 
    修改以下内容:
    server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.php index.html index.htm index.nginx-debian.html; server_name _; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; } } 
  • 重启 Nginx 服务
    sudo systemctl restart nginx 
  • 验证 Nginx 服务:在浏览器中访问服务器公网 IP,查看是否看到 Nginx 欢迎页面。

3. 安装 MySQL

  • 安装 MySQL
    sudo apt -y install mysql-server 
  • 验证安装
    sudo mysql -V 
  • 首次登录 MySQL
    sudo mysql -u root -p 
  • 修改 root 密码
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; FLUSH PRIVILEGES; 

4. 安装 PHP

  • 安装 PHP 及其相关模块
    sudo apt -y install php-fpm php-mysql 
  • 验证安装
    sudo php -v 
  • 创建测试 PHP 文件
    sudo vi /var/www/html/info.php 
    输入以下内容:
    <?php phpinfo(); ?> 
  • 重启 Nginx 服务
    sudo systemctl restart nginx 
  • 验证 PHP 配置:在浏览器中访问 http://your_server_ip/info.php,查看是否看到 PHP 信息页面。

5. 部署动态网站

  • 上传网站文件:将你的动态网站文件(如 WordPress)上传到 /var/www/html 目录下。
  • 配置数据库
    mysql -u root -p 
    创建数据库和用户,并授权:
    CREATE DATABASE wordpress; GRANT ALL ON wordpress.* TO wordpress@localhost IDENTIFIED BY 'password'; FLUSH PRIVILEGES; 
  • 修改配置文件:编辑 wp-config.php 文件,填写数据库信息:
    define('DB_NAME', 'wordpress'); define('DB_USER', 'wordpress'); define('DB_PASSWORD', 'password'); define('DB_HOST', 'localhost'); 

6. 启动服务

  • 启动 MySQL 服务
    sudo systemctl start mariadb 
  • 启动 PHP-FPM 服务
    sudo systemctl start php8.1-fpm 
  • 设置开机自启
    sudo systemctl enable mariadb sudo systemctl enable php8.1-fpm 

7. 访问网站

  • 在浏览器中访问你的服务器 IP 地址,即可看到动态网站内容。

通过以上步骤,你就可以成功利用 LNMP 搭建一个动态网站。如果有任何问题,可以参考相关文档或寻求社区帮助。

0