首页主机资讯lnmp在ubuntu上如何部署网站

lnmp在ubuntu上如何部署网站

时间2025-10-10 17:51:03发布访客分类主机资讯浏览1444
导读:LNMP在Ubuntu上部署网站的完整步骤 以下是在Ubuntu系统上使用LNMP(Linux+Nginx+MySQL+PHP)栈部署网站的详细流程,涵盖环境搭建、配置及网站上线全流程: 1. 准备工作 更新系统包:确保系统软件包为最新版...

LNMP在Ubuntu上部署网站的完整步骤

以下是在Ubuntu系统上使用LNMP(Linux+Nginx+MySQL+PHP)栈部署网站的详细流程,涵盖环境搭建、配置及网站上线全流程:

1. 准备工作

  • 更新系统包:确保系统软件包为最新版本,避免兼容性问题。
    sudo apt update &
        &
         sudo apt upgrade -y
    
  • 远程连接工具:使用XShell、SecureCRT等工具登录Ubuntu服务器(若为本地虚拟机,可直接操作)。

2. 安装Nginx(Web服务器)

  • 安装Nginx:通过APT包管理器快速安装Nginx。
    sudo apt install nginx -y
    
  • 验证Nginx安装:在浏览器中访问服务器IP地址(如http://123.45.67.89),若看到Nginx默认欢迎页面(包含“Welcome to nginx!”字样),则说明安装成功。

3. 安装MySQL(数据库服务器)

  • 安装MySQL:安装MySQL数据库(支持动态网站数据存储)。
    sudo apt install mysql-server -y
    
  • 运行安全脚本:执行安全配置,设置root密码、移除匿名用户、禁止root远程登录等。
    sudo mysql_secure_installation
    
    按提示输入root密码(建议使用强密码,包含大小写字母、数字和符号),并根据需求选择“Y”确认其他安全设置。

4. 安装PHP及扩展(动态脚本支持)

  • 安装PHP及必要扩展:安装PHP核心、MySQL扩展(用于PHP连接MySQL数据库)和PHP-FPM(FastCGI进程管理器,提升PHP性能)。
    sudo apt install php-fpm php-mysql -y
    
  • 验证PHP安装:创建测试文件,检查PHP是否能正常解析。
    sudo nano /var/www/html/info.php
    
    输入以下内容并保存:
    <
        ?php phpinfo();
         ?>
    
    
    在浏览器中访问http://your_server_ip/info.php,若看到PHP信息页面(包含PHP版本、模块列表等),则说明PHP安装成功。

5. 配置Nginx支持PHP

  • 编辑Nginx配置文件:修改默认站点配置,添加PHP解析规则。
    sudo nano /etc/nginx/sites-available/default
    
    找到location ~ \.php$部分,确保内容如下(注意:fastcgi_pass路径需与PHP版本匹配,可通过ls /var/run/php/查看当前PHP-FPM套接字文件)
    location ~ \.php$ {
        
        include snippets/fastcgi-php.conf;
        
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
         # Ubuntu 22.04默认使用PHP 7.4
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        
        include fastcgi_params;
    
    }
        
    
  • 测试Nginx配置:检查配置文件语法是否有误。
    sudo nginx -t
    
    若输出“syntax is ok”和“test is successful”,则说明配置正确。
  • 重启Nginx:使配置生效。
    sudo systemctl restart nginx
    

6. 部署网站文件

  • 创建网站目录:为网站创建专用目录(如yourdomain.com),并设置正确的权限(www-data为Nginx默认运行用户)。
    sudo mkdir -p /var/www/html/yourdomain.com
    sudo chown -R www-data:www-data /var/www/html/yourdomain.com
    sudo chmod -R 755 /var/www/html/yourdomain.com
    
  • 上传网站文件:将本地网站文件(如WordPress、静态HTML等)上传至/var/www/html/yourdomain.com目录。可使用SCP、SFTP或Git等工具(例如SCP命令:scp -r /local/path/* user@your_server_ip:/var/www/html/yourdomain.com)。

7. 配置数据库(动态网站必需)

  • 登录MySQL:使用root用户登录MySQL。
    sudo mysql -u root -p
    
  • 创建数据库和用户:为网站创建专用数据库和用户,并授予权限(避免使用root用户直接操作网站数据库)。
    CREATE DATABASE your_database CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
        
    CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'StrongPassword123!';
        
    GRANT ALL PRIVILEGES ON your_database.* TO 'your_user'@'localhost';
        
    FLUSH PRIVILEGES;
        
    EXIT;
        
    
  • 修改网站配置文件:编辑网站的配置文件(如WordPress的wp-config.php),填入数据库信息。
    define('DB_NAME', 'your_database');
        
    define('DB_USER', 'your_user');
        
    define('DB_PASSWORD', 'StrongPassword123!');
        
    define('DB_HOST', 'localhost');
        
    

8. 配置防火墙(可选但推荐)

  • 允许HTTP/HTTPS流量:使用UFW(Uncomplicated Firewall)开放80(HTTP)和443(HTTPS)端口,确保网站可被外部访问。
    sudo ufw allow 'Nginx Full'
    sudo ufw enable
    
  • 检查防火墙状态:确认规则已生效。
    sudo ufw status
    
    输出应包含“ALLOW 80/tcp”和“ALLOW 443/tcp”。

9. 配置SSL证书(可选但强烈推荐)

  • 安装Certbot:使用Certbot工具免费获取Let’s Encrypt SSL证书(提升网站安全性,支持HTTPS)。
    sudo apt install certbot python3-certbot-nginx -y
    
  • 获取并安装证书:运行Certbot命令,自动配置Nginx支持HTTPS。
    sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
    
    按提示选择“Redirect”(将HTTP重定向至HTTPS),确保证书自动续期。

10. 测试网站

  • 访问网站:在浏览器中输入http://yourdomain.comhttps://yourdomain.com(若配置了SSL),若看到网站首页(如WordPress的登录页面或静态页面),则说明部署成功。
  • 检查动态功能:若为动态网站(如WordPress),尝试创建文章、上传图片等功能,确认PHP与MySQL交互正常。

通过以上步骤,即可在Ubuntu系统上成功部署LNMP环境并上线网站。若需优化性能(如开启OPcache、调整PHP-FPM进程数)或配置CDN,可根据网站需求进一步调整。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: lnmp在ubuntu上如何部署网站
本文地址: https://pptw.com/jishu/722683.html
ubuntu lnmp如何解决兼容性问题 Ubuntu SSH如何解决延迟

游客 回复需填写必要信息