一、安装环境
1.安装 Nginx
sudo apt update
sudo apt install nginx
sudo ufw allow 'Nginx HTTP'
验证安装
sudo ufw status
浏览器输入ip地址或域名
2.安装 MySQL
sudo apt install mysql-server
sudo mysql_secure_installation
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1
后面无脑键入 y
sudo mysql
SELECT user,authentication_string,plugin,host FROM mysql.user;
此时root用户通过 auth_socket插件进行身份验证,以下将root用户改成通过密码进行身份验证
password改成自己刚改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;
SELECT user,authentication_string,plugin,host FROM mysql.user;
有以上输出,则可以退出 mysql
exit
Note此时 sudo mysql 无法继续访问mysql,我们可以通过以下命令登入:
mysql -u root -p
ERROR 1819(HY000)
如果出现 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
则
sudo mysql_secure_installation
改一个强度高的密码
密码强度最好 100 以上
Estimated strength of the password: 100
q继续上述命令验证
3.安装 PHP 并配置 Nginx 组件
sudo add-apt-repository universe
sudo apt install php-fpm php-mysql
到此LEMP必要的组件已经安装完毕,棒极啦!
不过仍然要进行一些配置更改,以使 Nginx 使用 PHP 处理器来处理动态内容。
二、配置环境
新建的服务器配置文件,Example.com 即是,可自主命名。
sudo nano /etc/nginx/sites-available/man.com
如下
server {
listen 80;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name man.com;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
sudo ln -s /etc/nginx/sites-available/man.com /etc/nginx/sites-enabled/
sudo unlink /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl reload nginx
三、建一个 PHP 文件测试配置
sudo nano /var/www/html/info.php
配置如下
<?php
phpinfo();
http://your_server_domain_or_IP/info.php
wow!配置成功!
最后,最好删除测试文件,因为它实际上可以为未经授权的用户提供有关您的配置的一些提示,这些提示可能有助于他人尝试闯入。
sudo rm /var/www/html/info.php