Open Euler Linux系统LNMP架构实操!
LNMP不是指一个独立的软件,而是由四个组件组成的:L、N、M、P,LNMP具体组件含义如下: L,代表的是基于Linux内核开发的系统; N,代表的是Nginx WEB软件; M,代表的是MYSQL、Mariadb关系型数据库; P,代表的是PHP、Python、Perl语言&环境。
LNMP工作原理:
用户通过浏览器向Nginx发起Request请求,Nginx WEB检测到用户请求的静态网页(文件),Nginx WEB则自己处理&响应。
如果Nginx WEB检测到用户请求的动态网页,Nginx WEB会基于FastCGI协议将请求转发至后端PHP-FPM程序去处理。
PHP-FPM是PHP网页解释器,能够将动态PHP程序解析为静态脚本、内容,如果PHP网页需要连接后端数据库,则通过PHP-MYSQL驱动去连接、读取数据库中的数据。
PHP-FPM解释器解析PHP动态网页、程序,解析完成之后会将最终的数据返回给Nginx,由Nginx WEB再返给用户端。
现在咱们基于OpenEuler Linux 22.x系统来构建一套LNMP WEB架构,采用YUM方式部署。先来部署Nginx!
一,安装Nginx软件服务:yum install -y nginx
启动Nginx服务进程:systemctl start nginx
Firewalld防火墙对外开放80端口:
firewall-cmd --add-port=80/tcp --permanent
systemctl reload firewalld.service
访问服务器的IP地址,就可以看到NGINX的欢迎页了!
二,安装MYSQL软件服务:yum install -y mysql-server mysql
启动MYSQL服务进程:systemctl start mysqld.service
Firewalld防火墙对外开放3306端口:
firewall-cmd --add-port=3306/tcp --permanent
systemctl reload firewalld.service
启动以后,查找安装的默认密码:
grep'password' /var/log/mysql/mysqld.log
然后更改root密码。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'XXXXXXX';
三,部署PHP-FPM的方法和指令如下:
安装PHP-FPM软件服务:
yum install -y php-fpm php-mysqlnd
启动PHP-FPM服务进程:
systemctl start php-fpm.service
Firewalld防火墙对外开放9000端口:
firewall-cmd --add-port=9000/tcp --permanent
systemctl reload firewalld.service
四,将Nginx和PHP-FPM整合形成一个完整的WEB架构,Nginx可以处理静态网页,而PHP-FPM则去处理PHP动态网页。修改Nginx主配置文件nginx.conf代码如下:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}
在Nginx WEB网站发布目录/usr/share/nginx/html创建index.php测试页面,测试代码如下:
phpinfo(); ?> |
如果打不开PHP文件,需要修改一下PHP-FPM下的www.conf文件
改好以后,systemctl restart php-fpm
输入命令 Netstat -tpln 看到,NGINX,MYSQL,PHP-FPM都已经启动起来了
以上整个环境就搭好了。比如你要是弄个DZ论坛的话,直接上传到/usr/share/nginx/html目录下,访问安装就可以了!