创建只用于www的web服务器

https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-ubuntu-22-04 (基础,教你如何安装和配置LEMP,注意在数据库编写完之后会遇到)

https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-lemp-on-ubuntu-22-04 (实战,准备号上面的东西后,回头再看这一篇,并开始着手安装wordpress,这里还有以一个bug,其导致在安装完wordpress之后不能正常访问www.your_domain/wordpress (Error:Your PHP installation appears to be missing the MySQL extension which is required by WordPress) 这是因为在基础和实战两个教程中,你有可能安装php8.1并不是完备的,不知道基于什么原因,在增加安装额外php项目时,里面漏了php-pdo-mysql没有安装,如何检查这个呢?有个办法就是查看www.your_domain/info.php里面,你会看到PD0的drive为空。这会导致Nginx无法连接到php的驱动器,所以在安装php8.1的指令里面要加上安装php-pdo-mysql的指令:

sudo apt-get install -y php-pdo-mysql

以上两篇要合起来看和用,而服务器安装务必要完备,不然会出现很多奇怪的问题,另外在你跟着执行的时候,最好是看完上下文在一步一步执行到底,因为其中很多是在当时步骤下试行一步用来验证,最终又会删除掉的,如果你还留着试行的设置,势必后面会有很多麻烦,比如index.html和php.ini的内容,当然如果我没有试错也不会有这个忠告,而又这个忠告又感觉学到了点什么。

在搞定https(ssl)之后不要忘了两件事:在VPS安全管理里面放行443端口;在ufw里面放行https服务

ubuntu@SGaws2:~$ sudo ufw allow 'Nginx HTTPS'
Rule added
Rule added (v6)
ubuntu@SGaws2:~$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
Nginx HTTP                 ALLOW       Anywhere                  
OpenSSH                    ALLOW       Anywhere                  
Nginx HTTPS                ALLOW       Anywhere                  
Nginx HTTP (v6)            ALLOW       Anywhere (v6)             
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Nginx HTTPS (v6)           ALLOW       Anywhere (v6)