本文介绍如何在 Ubuntu 下安装 LAMP 和 LNMP 环境
简介
LAMP:即 Liunx 下 Apache,MySQL,PHP 环境
LNMP:即 Linux 下 Nginx,MySQL,PHP 环境
搭建环境:Ubuntu 20.04 LTS
若无特殊说明,请使用 root 身份来运行本文中的命令,本文只介绍基本的环境搭建,不包括网站的搭建和管理
准备工作
第一步:换源
备份源
1 | cp /etc/apt/sources.list /etc/apt/sources.list.bak |
更换源
1 | vim /etc/apt/sources.list |
内容更换为(内容与 Ubuntu 版本有关,详见文末参考链接)
1 | deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse |
第二步:更新软件(列表)
1 | # 更新软件列表信息 |
LNMP 的搭建
软件:Nginx 的安装
执行下面的命令来安装
1 | apt install nginx |
安装完后访问 IP(服务器 IP 或 127.0.0.1) 即可见效(开盒即食,真好用)
相关命令:
1 | service nginx status |
相关文件
内容
/var/www/html
默认的 Web 页面,默认打开可以看到 Nginx 页面/var/www/html
实际的 Web 内容,默认下只有 Nginx 自己的原生页面,我们可以通过更改 Nginx 配置来更改服务器配置
/etc/nginx
Nginx 配置目录。所有 Nginx 的配置文件都在这里/etc/nginx/nginx.conf
Nginx 的配置文件,大多数全局配置可以通过这个文件来修改/etc/nginx/sites-available/sites-enabled
用来存储服务器下每个站点服务器块的目录, 默认情况下 Nginx 不会直接使用目录下的配置文件,需要我们更改配置来告诉 Nginx 来去读/etc/nginx/sites-enabled/sites-available
这里是存储已经启用站点服务器块的目录/etc/nginx/snippets
这个目录包含一些 Nginx 的配置文件,可打开详细查看这些配置文件到文档进行学习服务器日志
/var/log/nginx/access.log
这里是 Nginx 到日志文件,对 Web 服务器的每个请求都会记录在这个日志中/var/log/nginx/error.log
记录 Nginx 运行过程中发生的错误日志
软件:PHP 的安装
执行下面的命令来安装
1 | apt install php7.4-fpm |
验证安装
1 | php -v |
配置 Nginx 设置(两种方法比较见文末链接)
第一种方法(php-fpm):
1
vim /etc/nginx/sites-available/default
内容修改为
然后重启 Nginx
1
service nginx restart
第二种方法(php-cgi):
1
vim /etc/nginx/sites-available/default
修改内容为
1
vim /etc/php/7.4/fpm/pool.d/www.conf
在 37 行添加
1
listen = 127.0.0.1:9000
安装 php-cgi
1
apt install php7.4-cgi
重启服务器或者虚拟机即可
验证 PHP Nginx 配置
进入
/var/www/html
删除原有的.html
文件创建
index.html
和phpinfo.php
内容如下1
2
3
4
5
6
7
8
9
10
11
12
<html lang="en">
<head>
<meta charset="UTF-8">
<title>hello world</title>
</head>
<body>
<h1>Hello world</h1>
<h3><a href="phpinfo.php">Check phpinfo</a></h3>
</body>
</html>phpinfo.php
内容如下1
2
3
phpinfo();访问 IP 或 127.0.0.1 查看主页面和 phpinfo
软件:MySQL 的安装
执行下面的命令来安装
1 | apt install mysql-server |
相关命令:
1 | service mysql status |
修改密码
1 | # 输入下面的命令两次回车即可登录(密码为空) |
再次登录就需要密码了
让我们再来验证一下安装,首先安装php-mysql
(没有它 php 就使用不了 MySQL)
1 | apt install php7.4-mysql |
在/var/www/html
创建mysql.php
,内容如下
1 |
|
访问服务器 IP + /mysql.php
或127.0.0.1/mysql.php
如果看到下图,那就成功了(基于上文安装的 Nginx,PHP)
LAMP 的搭建
软件:Apache 的安装
请先使用上文的命令停止 Nginx
执行下面的命令来安装
1 | apt install apache2 |
相关命令
1 | service apache2 status |
检验,访问服务器 IP 或 127.0.0.1,出现下图则成功
相关文件
内容
- 在
/var/www/html
等包括网页内容,可以在 Apache 配置文件中更改此设置服务器配置
/etc/apache2
全部 Apache 配置文件住这里
/etc/apache2/apache2.conf
关于 Apache 主配置文件
/etc/apache2/ports.conf
此文件指定 Apache 将 监听的端口
/etc/apache2/sites-available/
每个站点可以在其中存储虚拟主机的目录。 除非将配置文件链接到启用站点的目录,否则 Apache 将不会使用在此目录中找到的配置文件, 通常,所有服务器锁定设置都在此目录中完成
/etc/apache2/启用了站点/
存储启用了站点的虚拟主机的目录。 这些通常是通过使用 a2ensite 链接到可用站点目录中的配置文件来创建的。 Apache 在启动或重新加载以编译完整配置时会读取此目录中的配置文件和链接
/etc/apache2/conf可用 /
,/etc/apache2/conf启用/
这些目录与目录可用站点和已启用站点的关系相同,但是 用于存储不属于虚拟主机的配置片段
/etc/apache2/mods可用/
,/etc/apache2/mods启用/
这些目录 包含可用和启用的模块 分别 服务器日志
/var/log/apache2/access.log
对 Web 服务器的每个请求都记录在此日志文件中 除非另有说明
/var/log/apache2/Error.log
默认情况下, 所有错误都记录在此文件中
软件:PHP 的搭建
执行下面的命令来安装
1 | apt install php7.4 |
检验
1 | php -v |
安装组件和扩展
1 | apt install php7.4-curl php7.4-cgi php7.4-json php-pear libapache2-mod-php php7.4-mysql |
重启 Apache
1 | service apache2 restart |
对安装进行验证
进入
/var/www/html
删除原有的.html
文件创建
index.html
和phpinfo.php
内容如下1
2
3
4
5
6
7
8
9
10
11
12
<html lang="en">
<head>
<meta charset="UTF-8">
<title>hello world</title>
</head>
<body>
<h1>Hello world</h1>
<h3><a href="phpinfo.php">Check phpinfo</a></h3>
</body>
</html>phpinfo.php
内容如下1
2
3
phpinfo();访问 IP 或 127.0.0.1 查看主页面和 phpinfo
软件:安装 MySQL
和配置 LNMP 时的操作类似,请读者自行安装验证 ~
本文参考链接: