目录
一、什么是LNMP
Linux系统
Apache服务
Nginx服务
MySQL数据库
PHP服务
二、搭建LNMP
安装Nginx服务
第一步 关闭防火墙和安全机制
第二步 安装依赖环境
第三步 创建运行用户
第四步 解压服务包
第五步 编译安装
第六步 编译
第八步 添加 Nginx 系统服务
第九步 赋权并启动服务
安装MySQL服务
第一步 安装MySQL依赖环境
第二步 创建运行用户
第三步 解压相关服务包
第四步 编译安装
第五步 编译
第六步 修改MySQL配置文件
第七步 更改文件属性
第八步 设置路径环境变量
第九步 初始化数据库
第十步 添加MySQL系统服务
第十一步 修改MySQL密码
第十二步 登录一下进行测试
安装PHP服务环境
第一步 安装环境依赖包
第二步 解压相关服务包
第三步 编译安装
第四步 编译
第五步 路径优化
第六步 调整配置文件
第七步 更改配置文件
第八步 调整服务配置文件
第九步 更改配置文件内容
第十步 调整扩展配置文件
第十一步 启动php-fpm
第十二步 配置Nginx支持PHP解析
第十三步 重启服务
第十四步 编辑测试页内容
第十五步 进入浏览器测试访问
一、什么是LNMP
LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器
Mysql是一个小型关系型数据库管理系统
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统
LNMP平台就是 Linux、 Ngnix、 My SQL、PHP的组合架构,需要 Linux服务器、MysαL数据库、PHP解析环境
Ngnix特长:高并发,低资源,处理静态网络访问请求非常强
Apache:静态处理和动态处理都可以做,更适合做动态处理
Nginx将动态资源请求交给PHP当中的fpm处理动态请求
PHP主配置文件:php.ini
Nginx将动态资源分配给FPM或Apache
Linux系统
Linux,全称GNU/Linux,是一种类似Unix的操作系统,可以免费使用,自由传播。它是一个基于POSIX的多用户、多任务、多线程、多CPU的操作系统。随着互联网的发展,Linux得到了全世界软件爱好者、组织和公司的支持。除了在服务器方面保持强劲的发展势头,在个人电脑和嵌入式系统方面也取得了长足的进步。用户不仅可以直观地获得操作系统的实现机制,还可以根据自己的需求对Linux进行修改和改进,使其最大限度地适应用户的需求
Apache服务
是使用最广泛的 Web 服务器软件。Apache 是由 Apache Software Foundation 开发和维护的,它是一个免费提供的开源软件。它占全球所有网络服务器的 67%。它快速,可靠,安全。它可以通过使用扩展和模块进行高度定制,以满足许多不同环境的需求。大多数 WordPress 托管服务提供商使用 Apache 作为其 Web 服务器软件。但是,WordPress 也可以在其他 Web 服务器软件上运行。
Nginx服务
nginx是一个高性能的HTTP和反向代理服务器,特点是占用内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。
nginx专为性能优先而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告表明能支持高达50000个并发连接数。
MySQL数据库
MySQL是一个关系型数据库管理系统,由瑞士MySQL AB公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统 ) 应用软件之一。
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库。
PHP服务
PHP是一种通用开源脚本语言,主要应用于Web开发,它可以与HTML一起使用或独立使用。PHP有很多的优点,例如易于学习,易于使用,跨平台运行等。
PHP服务是一种能够在服务器端运行PHP脚本的服务。它具有以下几个方面的优点:
高效性
PHP服务通过在服务器端运行PHP脚本,能够实现高效率和快速的网页响应,提升了网站的访问速度,进而提升了客户的满意度。
安全性
PHP服务对于保证服务器端的安全性非常重要。它通过限制不必要的权限和保护程序的稳定性来确保系统安全。同时,在PHP脚本执行的过程中,用户数据也可以被加密和保护,从而确保用户隐私信息的安全性。
节省时间和成本
PHP服务可以快速地释放应用程序的资源,同时也可以减少了服务器需要的硬件资源,从而大大节省时间和成本。
可扩展性
PHP服务还具有相对应的可扩展性,这意味着它很容易与其他服务进行整合,例如云计算技术,数据库服务等。
易于管理和维护
PHP服务开发和维护相对容易,这是因为PHP本身就非常简单易用。开发人员只需要熟悉PHP相关技术和知识,就能够快速地开发和维护网站和应用程序。
二、搭建LNMP
安装Nginx服务
第一步 关闭防火墙和安全机制
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld #开机自动关闭防火墙
setenforce 0 #关闭安全机制
第二步 安装依赖环境
命令:yum -y install pcre-devel zlib-devel gcc gcc-c++ make
第三步 创建运行用户
命令:useradd -M -s /sbin/nologin nginx
第四步 解压服务包
命令:tar zxvf nginx-1.12.0.tar.gz -C /opt/
第五步 编译安装
命令:./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
第六步 编译
命令:make -j 4 && make install
第七步 优化路径
命令:ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
第八步 添加 Nginx 系统服务
第九步 赋权并启动服务
命令:chmod 754 /lib/systemd/system/nginx.service
systemctl start nginx.service
systemctl enable nginx.service
安装MySQL服务
第一步 安装MySQL依赖环境
命令:yum -y install \
ncurses \
ncurses-devel \
bison \
cmake
第二步 创建运行用户
命令:useradd -M -s /sbin/nologin mysql
第三步 解压相关服务包
命令:tar xzvf mysql-boost-5.7.20.tar.gz
第四步 编译安装
命令:cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1
第五步 编译
命令:make -j 4 && make install
第六步 修改MySQL配置文件
内容:
[client]
port = 3306
socket=/usr/local/mysql/mysql.sock[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
第七步 更改文件属性
命令:chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf
第八步 设置路径环境变量
命令:echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
source /etc/profile #刷新配置文件
第九步 初始化数据库
命令:mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
第十步 添加MySQL系统服务
命令:cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system
systemctl daemon-reload
systemctl start mysqld.service
systemctl enable mysqld
第十一步 修改MySQL密码
命令:mysqladmin -u root -p password "123456"
第十二步 登录一下进行测试
命令:mysql -u root -p
安装PHP服务环境
第一步 安装环境依赖包
命令:yum -y install gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel
第二步 解压相关服务包
命令:tar xjvf php-7.1.10.tar.bz2
第三步 编译安装
命令:./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip
第四步 编译
命令:make -j 4 && make install
第五步 路径优化
命令:ln -s /usr/local/php/bin/* /usr/local/bin/
第六步 调整配置文件
命令:cp /opt/php-7.1.10/php.ini-development /usr/local/php/php.ini
第七步 更改配置文件
第八步 调整服务配置文件
命令:cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf
第九步 更改配置文件内容
第十步 调整扩展配置文件
命令:cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf
第十一步 启动php-fpm
命令:/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
第十二步 配置Nginx支持PHP解析
第十三步 重启服务
命令:systemctl restart nginx.service
第十四步 编辑测试页内容
命令:vim /usr/local/nginx/html/index.php