如何在Debian 10 Buster上设置LEMP服务器

安装PHP

你不需要安装整个PHP包,只需要PHP-FPM。
和MySQL模块一起安装。

$sudo apt install php-fpm php-mysql

安装nginx

从Debian存储库中安装Web服务器Nginx。

$sudo apt install nginx

配置nginx

nginx是一个强大的Web服务器,它提供了大量的选项。

本教程将进行一个基本的工作设置。

Nginx站点配置存储在“/etc/Nginx/sites available”中,并链接到“/etc/Nginx/sites enabled”。在“/etc/nginx/sites available”中为服务器配置创建一个新文件,并在文本编辑器中打开它。

首先创建服务器块,告诉nginx这是一个新的网站配置。

server {
}

其余配置将在该块中进行。
接下来,添加侦听端口号,然后是我们网站的重要属性。
如果这是我们唯一或者默认站点,请在端口号后添加default_server

server {
    listen 80 default_server;
    listen [::]:80 default_server;
}

设置我们想要放置网站的Web根文件夹

/var/www/html是通常的默认值。
然后设置网站索引的名称,即主页。

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /ver/www/html;
    index index.php index.html;
}

添加网站的域名server_name
如果这只是一个本地服务器,请使用_代替域名。

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /ver/www/html;
    index index.php index.html;
    server_name yourwebsite.com;
}

下一个配置块告诉nginx检查与当前Web地址匹配的文件。

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /ver/www/html;
    index index.php index.html;
    server_name yourwebsite.com;
    location/{
        try_files $uri $uri/=404;
    }
}

最后,告诉nginx将php文件传递给php-fpm进行处理。

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /ver/www/html;
    index index.php index.html;
    server_name yourwebsite.com;
    location/{
        try_files $uri $uri/=404;
    }
    location ~ \.php${
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
    }
}

完成后,保存配置并退出。
现在,将其链接到“启用”站点中。

$sudo ln -s /etc/nginx/sites-available/your-site /etc/nginx/sites-enabled/your-site

然后,重新启动nginx服务以启用该站点。

$sudo systemctl restart nginx

测试服务器

创建一个新文件/var/www/html/index.php
内容如下:

<?php phpinfo(); ?>

打开浏览器
http://服务器ip
我们将可以看到有关PHP的信息。

安装MariaDB.

$sudo apt install mariadb-server

设置数据库

MariaDB有一个脚本,可以自动保护数据库服务器。

$sudo mysql_secure_installation

回答脚本的一些问题。并设置root密码。

登录MariaDB:

# mysql -u root -p

为项目创建数据库。

CREATE DATABASE newdb;

创建一个新用户

CREATE USER 'username'@'localhost' IDENTIFIED BY 'userpassword';

该用户需要完全控制数据库,以便能够运行Web应用程序。
授予数据库及其表的所有权限。

GRANT ALL PRIVILEGES ON newdb.* TO 'username'@'localhost';

刷新权限,然后退出MariaDB。

FLUSH PRIVILEGES;
\q
日期:2020-07-07 20:56:35 来源:oir作者:oir