lnmp在ubuntu上如何部署网站
导读: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远程登录等。
按提示输入root密码(建议使用强密码,包含大小写字母、数字和符号),并根据需求选择“Y”确认其他安全设置。sudo mysql_secure_installation
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配置:检查配置文件语法是否有误。
若输出“syntax is ok”和“test is successful”,则说明配置正确。sudo nginx -t
- 重启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
- 检查防火墙状态:确认规则已生效。
输出应包含“ALLOW 80/tcp”和“ALLOW 443/tcp”。sudo ufw status
9. 配置SSL证书(可选但强烈推荐)
- 安装Certbot:使用Certbot工具免费获取Let’s Encrypt SSL证书(提升网站安全性,支持HTTPS)。
sudo apt install certbot python3-certbot-nginx -y
- 获取并安装证书:运行Certbot命令,自动配置Nginx支持HTTPS。
按提示选择“Redirect”(将HTTP重定向至HTTPS),确保证书自动续期。sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
10. 测试网站
- 访问网站:在浏览器中输入
http://yourdomain.com
或https://yourdomain.com
(若配置了SSL),若看到网站首页(如WordPress的登录页面或静态页面),则说明部署成功。 - 检查动态功能:若为动态网站(如WordPress),尝试创建文章、上传图片等功能,确认PHP与MySQL交互正常。
通过以上步骤,即可在Ubuntu系统上成功部署LNMP环境并上线网站。若需优化性能(如开启OPcache、调整PHP-FPM进程数)或配置CDN,可根据网站需求进一步调整。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: lnmp在ubuntu上如何部署网站
本文地址: https://pptw.com/jishu/722683.html