Alibaba Cloud Linux3 部署LNMP环境
部署环境要求
实例规格的内存建议不少于4GB。
实例已分配公网IP地址或绑定弹性公网IP(EIP)。
操作系统必须为Alibaba Cloud Linux 3。
实例安全组的入方向规已放行22、80、433端口。
安装前配置操作
连接到需要部署的ECS实例。
关闭防火墙。
命令
sudo systemctl status firewalld查找当前防火墙状态。如果状态显示是active,则防火墙为开启状态。

执行
sudo systemctl stop firewalld来临时关闭防火墙。

也可以执行
sudo systemctl disable firewalld来禁止开机自启动防火墙服务。关闭SELinux。SELinux是Linux内核的安全子系统,通过严格的访问控制机制增强系统安全性。一般情况下,建议开启SELinux来限制进程的权限,防止恶意程序通过提权等方式对系统进行攻击;然而,由于SELinux的严格访问控制机制,可能会导致一些应用程序或服务无法启动,因此在特定情况下(如开发、调试等),需暂时关闭SELinux。
运行
sudo getenforce或sudo sestatus来查看SELinux的运行状态。如显示disabled表示未启动。SELinux可以运行命令
sudo setenfce 0来临时关闭。如果要永久关闭SELinux可以编辑它的配置文件
sudo vi /etc/selinux/config中的SELINUX=enforcing或SELINUX=permissive字段,将它修改为SELINUX=disable。修改完成后,需要重启ECS实例来应用配置。
安装
1. 安装Nginx
运行命令
sudo yum -y install nginx来安装Nginx。安装完成后使用
nginx -V查看Nginx版本,来验证安装是否成功。
2. 安装MySql
首先运行
sudo yum install compat-openssl10来安装Mysql依赖包。然后更新yum源
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm。运行命令
sudo yum -y install mysql-community-server安装MySql。安装完成可以运行
mysql -V,查看MySql版本号,来验证安装是否正确。运行命令
sudo systemctl start mysqld来启动MySql服务器。使用命令
sudo systemctl enable mysqld和sudo systemctl daemon-reload来设置开机启动MySql服务。
3. 配置MySql
运行命令
sudo grep 'temporary password' /var/log/mysqld.log查看mysql服务器的root用户的初始密码。运行命令
sudo mysql_secure_installation来配置MySql的安全性,包括:重新设置root用户的密码。
删除匿名用户。
禁止使用root用户远程登录MySql。
删除test库以及用户对test库的访问权限。
重新加载授权表应用配置。
安装PHP
安装
运行命令
sudo rpm -Uvh https://mirrors.aliyun.com/remi/enterprise/remi-release-7.rpm更新yum源。运行命令
sudo yum-config-manager --enable remi-php80启用PHP8.0仓库。运行命令
sudo yum install -y php php-cli php-fpm php-common php-mysqlnd php-gd php-mbstring安装PHP。运行命令
php -v查看php版本。
更改Nginx配置文件来支持PHP
备份nginx配置文件
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak。修改nginx配置文件,添加对PHP的支持。
在
/etc/nginx/nginx.conf文件中,修改server大括号内的location /配置信息如下:
location / {
index index.php index.html index.htm;
}添加或修改location ~ .php$配置信息如下:
#添加下列信息,配置Nginx通过fastcgi方式处理您的PHP请求。
location ~ .php$ {
root /usr/share/nginx/html; #将/usr/share/nginx/html作为网站根目录。
fastcgi_pass 127.0.0.1:9000; #Nginx通过本机的9000端口将PHP请求转发给PHP-FPM进行处理。
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params; #Nginx调用fastcgi接口处理PHP请求。
}运行命令
sudo systemctl start nginx来启动Nginx服务。运行命令
sudo systemctl enable nginx将Nginx服务设置为开机启动运行。
配置PHP
在网站根目录下新建phpinfo.php文件,用于展示PHP信息。网站根目录是在nginx.conf配置文件中location ~ .php$大括号内,root选项所设置的值,在这里是/usr/share/nginx/html;
phpinfo.php文件的内容是
<?php echo phpinfo(); ?>,这会展示PHP所有的配置信息。运行命令
sudo systemctl start php-fpm来启动PHP-FPM。运行命令
sudo systemctl enable php-fpm设置PHP-FPM开机启动。
测试访问配置信息页面
在本地终端浏览器地址栏输入http://<ECS实例公网IP地址>/phpinfo.php,访问结果如下图所示,表示LNMP环境部署成功。
