LEMP平台(Linux、Nginx、MySQL、PHP)是LAMP平台(Linux、Apache、MySQL、PHP)的一种替代方案,两者之间唯一的差别就是LEMP的Web服务器用的是Nginx,而LAMP用的是Apache。相比Apache,Nginx更迅速更安全。这篇帮助讲解如何在Ubuntu云服务器上安装LEMP平台的方法。
准备工作
首先我们创建一台安装Ubuntu 20.04操作系统的云服务器,安装Nginx和MariaBD和PHP,并且将操作系统更新到最新版本。
$ sudo apt install -y nginx mariadb-server php-fpm php-mysql
$ sudo apt update && sudo apt upgrade
配置MariaDB
首先运行MariaDB/MySQL安装向导,通过向导设置root密码,其余选项保持默认即可。
$ sudo mysql_secure_installation
连接MariaDB,创建测试数据库example_db,并设置数据库用户名username和密码password。
$ sudo mariadb
CREATE DATABASE example_db;
GRANT ALL ON example_db.* TO 'username'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
下面测试使用用户名和密码能否连接成功,然后创建数据表table1,并插入一行记录。
$ sudo mariadb -u username -p
SHOW DATABASES;
USE example_db;
CREATE TABLE table1(column1 varchar(255));
INSERT INTO table1 VALUES("Database connection established successfully");
exit
配置Nginx
为网站创建一个目录,并给予适当的所有者权限,注意把example.com替换为实际域名。
$ sudo mkdir -p /var/www/example.com
$ sudo chown -R $USER:$USER /var/www/example.com
编辑站点配置文件,把example.com替换为实际域名。
$ sudo nano /etc/nginx/sites-available/example.com
在配置文件中添加如下代码,同样要把example.com替换为实际域名。
server {
listen 80;
listen [::]:80;
server_name www.example.com;
server_name example.com;
root /var/www/example.com;
location / {
index index.html;
}
}
重启Nginx使之生效。
$ sudo systemctl restart nginx.service
测试
在网站根目录下创建一个PHP测试文件。
$ nano /var/www/example.com/testdb.php
添加如下代码,并把username和password替换为之前配置的MariaDB的用户名和密码。
<?php
$mysqli = new mysqli("localhost", "username", "password", "example_db");
if (mysqli_connect_errno()) {
printf("Connection failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT column1 FROM table1";
if($result = $mysqli->query($query)) {
while($row = $result->fetch_row()){
printf("%s\n", $row[0]);
}
$result->close();
}
$mysqli->close();
最后在浏览器中访问:http://example.com/testdb.php ,如果没有报错信息,说明这台Ubuntu云服务器的LEMP平台已配置成功。