前言
LNMP:Linux 系统下 Nginx+MySQL+PHP 网站服务器架构。因为四种软件均是免费开源网站,所有这是一个免费、高效的网站服务系统。
本章主要介绍的是Nginx相关的环境部署,以及LNMP框架的搭建,Nginx知识点介绍在文章:[Linux安全运维] Nginx 相关知识介绍。
1. LNMP概述
LNMP框架:
1 .1构成
-
Linux:
- 简介: Linux 是一种开源的操作系统,以其稳定性和安全性而著称。在 LNMP 堆栈中,它作为服务器操作系统运行。
- 作用: 为应用程序提供一个稳定、安全的运行环境。
-
Nginx:
- 简介: Nginx 是一个高性能的 HTTP 和反向代理 Web 服务器,提供了 IMAP/POP3/SMTP 服务,其占有内存少,并且有很强的并发能力。
- 作用: 处理来自客户端(如浏览器)的 HTTP 请求,并将页面内容发送回客户端。
-
MySQL:
- 简介: MySQL 是一个开源关系型数据库管理系统,用于存储网站的数据。
- 作用: 管理网站的数据,包括用户信息、内容和其他重要数据。
-
PHP:
- 简介: PHP 是一种服务器端脚本语言,用于生成动态网页内容。
- 作用: 处理业务逻辑,与数据库交互,并生成 HTML 页面发送给客户端。
1 .2 LNMP优势
- 开源软件: 所有组件都是免费的开源软件,降低了开发成本。
- 社区支持: 拥有庞大的用户社区,可以找到丰富的资源和支持。
- 资源占用少:Nginx占用的内存很少,具有很低的系统资源损耗。
- 高并发:Nginx具有高并发能力,一台物理服务器可处理30000-50000个请求。
2. Nginx 部署
2 .1 开发环境
在编译的时候,我们需要使用到两个组件,pcre-devel
和zlib-devel
,这里我们使用yum源进行安装。
yum install pcre-devel zlib-devel -y
2 .2 创建用户
使用Nginx服务需要为其创建专用的用户,以便更准确的控制其访问权限。
# 创建用户 -u:uid -M:不创建家目录 -s:指定bash
useradd -u 521 -M -s /sbin/nologin nginx
# 查看用户
id nginx
2 .3 安装Nginx
使用压缩包进行解压安装,压缩包为nginx-1.6.0.tar.gz
,将其解压到当前目录。
tar xf Desktop/nginx-1.6.0.tar.gz
编译安装:
cd nginx-1.6.0/
./configure --prefix=/user/local/nginx_1.6.0 --user=nginx --group=nginx
make
make install
2 .4 Nginx相关文件
转到Nginx目录:
cd /user/local/nginx_1.6.0/
[root@localhost nginx_1.6.0]# ll
total 0
# 配置文件目录
drwxr-xr-x 2 root root 333 Jul 30 10:18 conf
# Web根目录
drwxr-xr-x 2 root root 40 Jul 30 10:18 html
# 日志目录
drwxr-xr-x 2 root root 6 Jul 30 10:18 logs、
# 命令
drwxr-xr-x 2 root root 19 Jul 30 10:18 sbin
3. Nginx管理操作
# 启动Nginx
/usr/local/nginx_1.6.0/sbin/nginx
# 关闭Nginx
/usr/local/nginx_1.6.0/sbin/nginx -s stop
# 重启Nginx
/user/local/nginx_1.6.0/sbin/nginx -t
# 查看配置信息
/usr/local/nginx_1.6.0/sbin/nginx -V
启动Nginx,我们就可以本机访问127.0.0.1:80
,可以看到Nginx安装完成的首页
4. MySQL安装部署
4 .1 安装MySQL服务
使用yum安装MySQL相关服务:
yum install mariadb mariadb-server mariadb-libs mariadb-devel -y
启动MySQL服务相关:
# 启动数据库服务
systemctl start mariadb.service
# 设置数据库开机自启动
systemctl enable mariadb.service
# 查看服务状态
systemctl status mariadb.service
4 .2 MySQL相关配置
MySQL相关安全配置可以查看文章:[Linux安全运维] MySQL 数据库安全配置
5. PHP部署
Nginx本身不会对PHP文件进行解析,不具备将PHP作为自身模块的功能。Nginx负责找到文件,PHP负责处理文件。所以要求PHP开启一个进程,来监听请求,处理PHP脚本,这个进程就是FastCGI
。
5 .1 安装PHP服务
安装php及其相关组件。
yum install php php-mysql php-mbstring -y
查看php版本:
php -v
5 .2 安装php-fpm
php-fpm:php使用php-fpm对FastCGI进行实现与管理,php-fpm作为动态解析PHP的服务器,php-fpm处理后的结果交给Nginx。
安装php-fpm:使用yum源进行安装。
yum install php-fpm -y
启动服务:
systemctl start php-fpm
# 查看端口状态
netstat -anptl | grep "9000"
6. 添加主页
想要在Nginx
中添加一个index.php
作为首页,需要修改Nginx的配置文件usr/local/nginx_1.6.0/conf
,添加一个index.php
,并开启php解析。
vim usr/local/nginx_1.6.0/conf/nginx.conf
index.php:
开启php解析:
重启Nginx:
/user/local/nginx_1.6.0/sbin/nginx -t
接着就可以把网站加到html文件夹
里了。