web
开发环境的搭建与配置
Web
服务器和Web
应用的工作原理;Linux
环境下搭建基于Nginx、PHP
和MySQL
的Web
开发环境;Linux
命令和vim
编辑器在Linux
环境下进行软件的安装、配置和测试。LNMP平台就是 Linux、 Ngnix、 My SQL、PHP的组合架构,需要 Linux服务器、MySQL数据库、PHP解析环境.
Ngnix特长:高并发,低资源,处理静态网络访问请求非常强
Apache:静态处理和动态处理都可以做,更适合做动态处理
Nginx将动态资源请求交给PHP当中的fpm处理动态请求
PHP主配置文件:php.ini
Nginx将动态资源分配给FPM或Apache
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文档的脚本语言
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
Nginx是一款轻量级的Web服务器/反向代理服务器以及电子邮件代理服务器,并在一个BSD-like协议下发行。由俄罗斯的程序设计师lgor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。
Nginx相较于Apache\lighttpd具有占有内存少,稳定性高等优势,并且依靠并发能力强,丰富的模块库以及友好灵活的配置而闻名。在Linux操作系统下,Nginx使用Epoll事件模型,得益此,Nginx在Linux操作系统下效率相当高。同时Nginx在OpenBSD或FreeBSD操作统上采用类似于Epoll的高效事件模型Kqueue.
特点:
—款高性能、轻量级Web服务软件
稳定性高
系统资源消耗低
对HTTP并发连接的处理能力高
单台物理服务器可支持30 000~50 000个并发请求
为了与 Nginx、PHP环境保持一致,此处选择采用源代码编译的方式安装 MySQL组件.
MySQL部署的方法
编译安装 MySQL
优化调整初始化数据库
启动mysq服务并设置root数据库账号的密码
配置网页动静分离,解析PHP,有两种方法可以选择.使用PHP的FPM模块,将访问PHP页面的Web请求转交给 Apache服务器去处理,较新版本的PHP已经自带FPM模块,用来对PHP解析实例进行管理、优化解析效率.
FastCG将 Http Server和动态脚本语言分离开
Nginx专门处理静态请求,转发动态请求
PHP FPM专门解析PHP动态请求
单服务器的LNMP架构通常使用FPM的方式来解析PHP
Web
服务器和Web
应用的工作原理;Linux
环境下搭建基于Nginx、PHP
和MySQL
的Web
开发环境;Linux
命令和vim
编辑器在Linux
环境下进行软件的安装、配置和测试。Linux
命令和vim
编辑器在Linux
环境下进行软件的安装、配置和测试。Nginx、PHP
和MySQL
完成Web
开发。实验环境: 基于阿里云云起实验平台所提供的实验资源,
CentOS
操作系统的服务器.
mysql
安装
- 执行如下命令,下载并安装MySQL官方的Yum Repository。
wget -i http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
- 执行如下命令,启动 MySQL 数据库。
systemctl start mysqld.service
- 执行如下命令,查看MySQL运行状态。
systemctl status mysqld.service
- 执行以下命令,查看MySQL初始密码。
grep "password" /var/log/mysqld.log
- 执行以下命令,登录数据库。
mysql -uroot -p
- 执行以下命令,修改MySQL默认密码。
mysql > set global validate_password_policy=0; mysql > ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';
- 执行以下命令,授予root用户远程管理权限。
mysql > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '12345678';
- 输入exit退出数据库。
nginx
安装配置
- 安装Nginx运行所需要的插件。
- 安装
gcc
。gcc
是Linux
下的编译器,它可以编译C、C++、Ada、C#
和Java
等语言。yum -y install gcc
- 安装pcre。pcre是一个perl库,Nginx的HTTP模块使用pcre来解析正则表达式。
yum install -y pcre pcre-devel
- 安装zlib。zlib是一个文件压缩和解压缩的库,Nginx使用zlib对HTTP数据包进行gzip压缩和解压。
yum install -y zlib zlib-devel
- 下载Nginx安装包。
wget http://nginx.org/download/nginx-1.17.10.tar.gz
- 解压Nginx安装包。
tar -zxvf nginx-1.17.10.tar.gz
- 编译安装Nginx。
cd nginx-1.17.10 ./configure make && make install
- 启动Nginx。
cd /usr/local/nginx/ sbin/nginx
- 测试
Nginx
启动。在浏览器地址栏输入ECS服务器的公网地址,101.132.67.54
,出现如下界面表示安装启动成功。
php
安装配置
- 安装PHP。
yum -y install php php-mysql php-fpm
- 在nginx.conf文件中增加对PHP的支持。
vim /usr/local/nginx/conf/nginx.conf
进入Vim编辑器后,按下i键进入编辑模式,在server的根路由配置中新增index.php。
location / { root html; index index.html index.htm index.php; }
并在根路由下面新增以下配置。
if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$1 last; } location ~ .*\.php(\/.*)*$ { fastcgi_pass 127.0.0.1:9000; include fastcgi.conf; fastcgi_index index.php; }
修改后的
nginx.conf
文件如下图所示。
按下ESC键,输入
:wq
保存并退出Vim编辑器。
- 重启
php-fpm
服务。systemctl restart php-fpm
- 重启
Nginx
服务。/usr/local/nginx/sbin/nginx -s reload
- 检查
PHP
安装。a. 在
Nginx
的网站根目录下创建PHP
探针文件phpinfo.php
。echo "" > /usr/local/nginx/html/phpinfo.php
b. 访问
PHP
探针页面。在浏览器地址栏输入http://101.132.67.54/phpinfo.php
(请将101.132.67.54
替换为ECS服务器的公网地址),出现如下页面表示PHP
环境配置成功。
wordpress
安装配置
通过本次实验掌握了基于CentOS搭建并配置LNMP的Web开发环境的相关操作,学习并使用了WordPress搭建个人博客的相关教程。在处理实验过程中的相关错误时也学习到了基本的常见错误应对与解决策略。同时也综合运用了Linux命令和Vim编辑器在linux环境下进行软件的安装、配置和测试工作。对于之前的知识进行了一个综合的运用和协同工作。