更新 apt-get
命令: sudo apt update
安装 nginx
命令: sudo apt install nginx 

安装完成之后可以在浏览器看到 nginx 默认欢迎页

    http://server_domain_or_ip

65404-xn4s79c6v8.png
如果看到上面的页面,则说明您已经成功安装了 nginx

安装 mysql
命令: sudo apt install mysql-server

运行完命令 Mysql数据库 就已经安装了, 但没配置完成.

为了确保安全, Mysql附带了一个脚步, 运行该脚本会询问我们是否修改一些不安全的默认值, 通过以下命令来启动脚本

sudo mysql_secure_installation

同意 Y '是', 否则继续进行任何操作(不启用).

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No:

如果启用了验证,则脚本还将要求您选择密码验证级别,如果输入2(最高级别),则设置复杂的密码包括大小写字母特殊字符等, 否则都会收到错误消息.

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1

接下来, 将要求您提交并确认root密码:

Please set the password for root here.

New password:

Re-enter new password:

其余的问题,您应该在每个提示下按下Y并ENTER击键. 这将删除一些匿名用户和测试数据库,禁用远程root登录,并加载这些新规则. 以便MySQL立即遵守我们所做的更改.

注意:

请注意, 在运行MySQL 5.7(及更高版本) Ubuntu系统中, 默认情况下, MySQL为 root 用户设置使用auth_socket插件而非密码进行身份验证. 在许多情况下,这可以提高安全性和可用性,但是当您需要允许外部程序(例如phpMyAdmin)访问时也可能变得不方便.

更换Mysql root用户密码验证

如果您希望以root用户身份连接到MySQL时使用密码, 则需要将其身份验证方法从切换auth_socket为mysql_native_password. 为此,请从终端打开MySQL提示符.

sudo mysql

接下来, 使用以下命令检查每个MySQL用户帐户使用的身份验证方法:

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             |                                           | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.01 sec)

在此示例中, 可以看到root用户使用auth_socket插件进行身份验证. 要将root帐户配置使用密码进行身份验证, 请运行以下ALTER USER命令 .确保更改password为您选择的强密码

其中 'password' 为您要设置的 root 用户的密码, 如果密码验证级别输入的是 2(最高级别), 请输入复杂的密码 否则会有错误提示

mysql>  ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

然后,运行FLUSH PRIVILEGES告诉服务器重新加载授权表并使新的更改生效:

mysql>  FLUSH PRIVILEGES;

再次检查每个用户使用的身份验证方法, 以确认root不再使用auth_socket插件进行身份验证:

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
Output
+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             | *3636DACC8616140347782ADD08F92C1571D6D78F | mysql_native_password | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.01 sec)

您可以在此示例输出中看到, MySQL root 用户现在使用密码进行了身份验证. 一旦在自己的服务器上确认了这一点,就可以退出MySQL Shell:

mysql> exit;
注意2:

将root的 MySQL用户配置为使用密码进行身份验证后, 将无法再sudo mysql使用以前使用的命令访问MySQL. 相反必须运行以下命令

mysql -u root -p

至此, mysql数据库系统已经完成了, 可以继续安装PHP

安装PHP

使用下面的命令将 ondrej/php 添加到Ubuntu的存储库

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
安装 PHP7.4 以及 php-mysql
sudo apt install php7.4-fpm php7.4-mysql
安装 PHP插件
sudo apt-get install php7.4-<插件名称>

php安装完成以后就需要配置nginx 虚拟主机

配置 nginx 虚拟主机

/etc/nginx/sites-available/ 目录中打开一个配置文件, 在此示例中新的服务器块配置文件名为example.com

sudo vi /etc/nginx/sites-available/example.com

将以下内容添加到example.com配置文件中

server {
        listen 80;
        root /var/www/html;
        index index.php index.html index.htm index.nginx-debian.html;
        server_name example.com;

        location / {
                try_files $uri $uri/ =404;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        }

        location ~ /\.ht {
                deny all;
        }
}
软连接

添加此内容后,保存并关闭文件. 通过软连接的形式来启用此配置

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

取消默认配置的软连接

sudo unlink /etc/nginx/sites-enabled/default

测试新配置文件的语法错误

sudo nginx -t

没有问题的话,重启nginx

sudo service nginx restat

这样就完成了LEMP的安装和配置,和相互通信

测试是否正常运行
sudo vi /var/www/html/info.php

加入以下内容:

<?php
phpinfo();

完成后,保存并关闭文件.

现在, 可以在浏览器中访问此页面, 访问服务器的域名或公共IP地址 后面跟/info.php:

http://your_server_domain_or_IP/info.php

标签: none

添加新评论