标题:怎么用lamp做网站
本文关键词:怎么用lamp做网站
说实话,现在搞LAMP栈的人越来越少了。大家都去搞Docker,搞K8s,搞云原生。但如果你是个小站长,或者想彻底搞懂Linux下网站是怎么跑起来的,LAMP依然是最好的老师。
别嫌它老,它稳啊。
我当年刚入行那会儿,手里就一台2G内存的阿里云ECS,穷得叮当响。买不起现成的宝塔面板,只能硬着头皮敲命令。那时候不懂什么是环境变量,不懂什么是权限管理,折腾了一周,网站连图片都加载不出来。
那种挫败感,我现在还记得。
今天不整那些虚头巴脑的概念,就聊聊真实操作中,怎么用lamp做网站,以及那些教程里不会告诉你的坑。
第一步,装系统。
别装CentOS 7了,太老,社区支持都快没了。装Ubuntu 20.04或者CentOS Stream 9。我推荐Ubuntu,因为它的包管理apt真的比yum好用太多,报错信息也相对友好一点。
装好系统后,先更新一下源。
sudo apt update
这一步别偷懒,很多依赖包都在新源里。
第二步,装Apache。
sudo apt install apache2
装完后,浏览器输入服务器IP,能看到“It works!”就对了。这时候很多人会慌,觉得太简单了。别急,这只是开始。
Apache的配置文件在/etc/apache2/apache2.conf。别急着改,先备份。
cp apache2.conf apache2.conf.bak
我见过太多人改配置文件改崩了,最后只能重装系统。记住,改配置前一定要备份,这是铁律。
第三步,装MySQL。
sudo apt install mysql-server
安装过程中会让你设置root密码。设一个强密码,别用123456,否则第二天你的数据库就被挂马了。
装完后,登录MySQL:
mysql -u root -p
创建数据库和用户。
CREATE DATABASE mysite;
CREATE USER 'mysite_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON mysite.* TO 'mysite_user'@'localhost';
FLUSH PRIVILEGES;
这里有个坑,很多教程让你用root直接连数据库。千万别这么干。一旦网站代码有SQL注入漏洞,黑客就直接拿到服务器最高权限了。用专用用户,权限最小化。
第四步,装PHP。
sudo apt install php libapache2-mod-php php-mysql
装完后,重启Apache:
sudo systemctl restart apache2
这时候,你可以写个info.php文件,放在/var/www/html/下,内容就是。
访问这个文件,能看到PHP信息,说明环境通了。
但这时候,你会发现一个问题。图片上传不了,或者权限不够。
这是因为Apache运行的用户是www-data,而你上传的文件可能是root权限创建的。
解决方法很简单,把网站目录的所有者改成www-data。
sudo chown -R www-data:www-data /var/www/html
这一步,很多新手会忽略,导致后面各种奇葩报错。
最后,配置虚拟主机。
如果你只有一个网站,那不用配。如果有多个,或者想把网站放在其他目录,就得配虚拟主机。
在/etc/apache2/sites-available/下新建一个配置文件,比如mysite.conf。
内容大概长这样:
ServerName example.com
DocumentRoot /var/www/mysite
AllowOverride All
Require all granted
启用这个站点:
sudo a2ensite mysite.conf
禁用默认站点:
sudo a2dissite 000-default.conf
重启Apache。
这时候,你的网站就跑起来了。
总结一下,怎么用lamp做网站,其实核心就三点:权限、配置、备份。
权限搞错了,网站直接废掉。配置搞错了,服务起不来。没备份,一旦出错,只能哭。
我见过太多人,花大价钱买服务器,结果因为一个小配置错误,网站挂了三天。三天啊,流量全没了。
所以,别嫌麻烦。每一步都走稳,比什么都强。
LAMP虽然老,但它就像一辆手动挡的桑塔纳。虽然不如自动挡舒服,但你能听到引擎的每一次呼吸,能感觉到路面的每一丝震动。
这种掌控感,是云原生给不了的。
如果你还在纠结,那就动手试试吧。哪怕搞砸了,重装系统也就几分钟的事。
别怕,干就完了。