安装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