Ubuntu LAMP网站部署完整步骤
一、准备工作
在开始部署前,确保你的Ubuntu系统已更新到最新版本,以避免软件包冲突:
sudo apt update && sudo apt upgrade -y
二、安装Apache Web服务器
Apache是LAMP架构中的核心Web服务器,负责处理HTTP请求并返回网页内容。
- 安装Apache:
sudo apt install apache2 -y - 启动并设置开机自启:
sudo systemctl start apache2 sudo systemctl enable apache2 - 验证安装:
打开浏览器,访问http://your_server_ip(将your_server_ip替换为服务器实际IP),若看到Apache默认欢迎页面(包含“Apache2 Ubuntu Default Page”字样),则说明安装成功。
三、安装MySQL数据库
MySQL用于存储网站数据(如用户信息、文章内容等),是动态网站的核心数据层。
- 安装MySQL Server:
sudo apt install mysql-server -y - 运行安全配置脚本:
执行以下命令设置root密码、删除匿名用户、禁止root远程登录等,提升数据库安全性:
按提示输入root密码(建议使用强密码,包含大小写字母、数字和符号),并根据需要选择“Y”确认其他安全选项。sudo mysql_secure_installation - 登录MySQL:
安装完成后,使用root账户登录MySQL:
输入密码后进入MySQL命令行界面(显示sudo mysql -u root -pmysql>提示符)。
四、安装PHP及常用扩展
PHP是服务器端脚本语言,用于处理动态内容(如表单提交、数据库交互)。LAMP中的“P”即指PHP。
- 安装PHP及扩展:
安装PHP核心及常用扩展(php-mysql用于连接MySQL数据库,php-curl用于网络请求,php-gd用于图片处理等):sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml php-zip -y注:
libapache2-mod-php是Apache与PHP的连接器,确保Apache能解析PHP文件。 - 重启Apache:
安装完成后,重启Apache以加载PHP模块:sudo systemctl restart apache2 - 验证PHP安装:
在Apache默认网站目录(/var/www/html)下创建info.php文件:
输入以下内容并保存(sudo nano /var/www/html/info.phpCtrl+O→Enter→Ctrl+X):打开浏览器访问phpinfo(); ?>http://your_server_ip/info.php,若看到PHP配置信息页面(包含PHP版本、扩展列表等),则说明PHP安装成功。
五、配置虚拟主机(可选,多网站部署必备)
若需要托管多个网站(如example.com和test.com),需配置虚拟主机。以下以example.com为例:
- 创建网站目录:
为网站创建专用目录(如/var/www/example.com)并设置权限:sudo mkdir -p /var/www/example.com/public_html sudo chown -R $USER:$USER /var/www/example.com/public_html sudo chmod -R 755 /var/www/example.com - 创建虚拟主机配置文件:
在/etc/apache2/sites-available/目录下创建新配置文件(如example.com.conf):
输入以下内容(替换sudo nano /etc/apache2/sites-available/example.com.confexample.com为你的域名,/var/www/example.com/public_html为网站根目录)::80 > ServerAdmin webmaster@example.com ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/example.com_error.log CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined - 启用虚拟主机及配置:
启用新虚拟主机并禁用默认站点(000-default.conf):sudo a2ensite example.com.conf sudo a2dissite 000-default.conf sudo systemctl reload apache2 - 测试虚拟主机:
将域名解析到服务器IP(通过DNS设置),然后在浏览器访问http://example.com,若看到网站根目录下的默认页面(或你上传的文件),则说明虚拟主机配置成功。
六、部署网站文件
将你的网站文件(如HTML、CSS、PHP文件)上传到网站根目录:
- 默认网站根目录(未配置虚拟主机时):
/var/www/html - 虚拟主机网站根目录(如上述
example.com):/var/www/example.com/public_html
上传方式可选择FTP(如FileZilla)、SCP(如scp -r local_folder user@your_server_ip:/var/www/example.com/public_html)或SFTP。
七、配置MySQL数据库(网站数据存储)
-
登录MySQL:
sudo mysql -u root -p -
创建数据库:
为网站创建专用数据库(如example_db):CREATE DATABASE example_db; -
创建数据库用户并授权:
创建一个仅能访问该数据库的用户(如example_user),并设置密码(如StrongPassword123):CREATE USER 'example_user'@'localhost' IDENTIFIED BY 'StrongPassword123'; GRANT ALL PRIVILEGES ON example_db.* TO 'example_user'@'localhost'; FLUSH PRIVILEGES; -
退出MySQL:
EXIT; -
配置网站连接数据库:
在网站代码中(如config.php),添加以下内容(替换为你的数据库信息):$servername = "localhost"; $username = "example_user"; $password = "StrongPassword123"; $dbname = "example_db"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检查连接 if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Connected successfully"; ?>访问该文件(如
http://example.com/config.php),若显示“Connected successfully”,则说明数据库连接成功。
八、测试网站
- 测试静态页面:
在网站根目录下创建index.html文件(如/var/www/example.com/public_html/index.html),内容如下:访问html> <html> <head> <title>Welcome to My Websitetitle> head> <body> <h1>Hello, World!h1> body> html>http://example.com,若看到“Hello, World!”标题,则说明静态页面部署成功。 - 测试动态页面:
创建index.php文件(如/var/www/example.com/public_html/index.php),内容如下:访问echo "Hello, PHP!"; ?>http://example.com/index.php,若看到“Hello, PHP!”,则说明动态页面部署成功。
九、常见问题排查
- 无法访问网站:
检查Apache服务是否运行(sudo systemctl status apache2),防火墙是否允许HTTP(端口80)流量(sudo ufw allow 'Apache')。 - PHP文件无法解析:
确保已安装libapache2-mod-php模块,且Apache已重启(sudo systemctl restart apache2)。 - 数据库连接失败:
检查数据库用户名、密码是否正确,数据库是否存在,以及用户是否有访问权限。
按照以上步骤操作,即可在Ubuntu系统上成功部署LAMP环境并运行网站。
以上就是关于“ubuntu lamp网站怎么部署”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm