实验五 web 开发环境的搭建与配置

预习报告

一、实验目的

  1. 正确表述Web服务器和Web应用的工作原理;
  2. 能够在Linux环境下搭建基于Nginx、PHPMySQLWeb开发环境;
  3. 综合运用Linux命令和vim编辑器在Linux环境下进行软件的安装、配置和测试。

二、实验要求

  1. 实验包括预习报告和实验报告;
  2. 实验预习报告应根据课程内容,查阅相关资料,列出与实验相关的背景知识;
  3. 实验报告应包括设计方案、详细步骤、结果分析等,关键过程和运行结果可配以截图说明。

三、实验原理

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

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个并发请求

MySQL安装配置

为了与 Nginx、PHP环境保持一致,此处选择采用源代码编译的方式安装 MySQL组件.

MySQL部署的方法

编译安装 MySQL

优化调整初始化数据库

启动mysq服务并设置root数据库账号的密码

PHP解析环境的安装

  • 配置网页动静分离,解析PHP,有两种方法可以选择.使用PHP的FPM模块,将访问PHP页面的Web请求转交给 Apache服务器去处理,较新版本的PHP已经自带FPM模块,用来对PHP解析实例进行管理、优化解析效率.

  • FastCG将 Http Server和动态脚本语言分离开

  • Nginx专门处理静态请求,转发动态请求

  • PHP FPM专门解析PHP动态请求

  • 单服务器的LNMP架构通常使用FPM的方式来解析PHP

实验报告

一、 实验目的

  1. 正确表述Web服务器和Web应用的工作原理;
  2. 能够在Linux环境下搭建基于Nginx、PHPMySQLWeb开发环境;
  3. 综合运用Linux命令和vim编辑器在Linux环境下进行软件的安装、配置和测试。

二、 实验要求

  1. 实验包括预习报告和实验报告;
  2. 实验预习报告应根据课程内容,查阅相关资料,列出与实验相关的背景知识;
  3. 实验报告应包括设计方案、详细步骤、结果分析等,关键过程和运行结果可配以截图说明。

三、 实验原理

  1. 综合运用Linux命令和vim编辑器在Linux环境下进行软件的安装、配置和测试。
  2. 基于Nginx、PHPMySQL完成Web开发。

四、 实验内容

实验环境: 基于阿里云云起实验平台所提供的实验资源,CentOS操作系统的服务器.

mysql安装

  1. 执行如下命令,下载并安装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

  1. 执行如下命令,启动 MySQL 数据库。
systemctl start mysqld.service
  1. 执行如下命令,查看MySQL运行状态。
systemctl status mysqld.service
  1. 执行以下命令,查看MySQL初始密码。
grep "password" /var/log/mysqld.log
  1. 执行以下命令,登录数据库。
mysql -uroot -p
  1. 执行以下命令,修改MySQL默认密码。
mysql > set global validate_password_policy=0;
mysql > ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';
  1. 执行以下命令,授予root用户远程管理权限。
mysql > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '12345678';

  1. 输入exit退出数据库。

nginx安装配置

  1. 安装Nginx运行所需要的插件。
  • 安装gccgccLinux下的编译器,它可以编译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
  1. 下载Nginx安装包。
wget http://nginx.org/download/nginx-1.17.10.tar.gz
  1. 解压Nginx安装包。
tar -zxvf nginx-1.17.10.tar.gz
  1. 编译安装Nginx。
cd nginx-1.17.10
./configure
make && make install
  1. 启动Nginx。
cd /usr/local/nginx/
sbin/nginx
  1. 测试Nginx启动。在浏览器地址栏输入ECS服务器的公网地址,101.132.67.54,出现如下界面表示安装启动成功。

php安装配置

  1. 安装PHP。
yum -y install php php-mysql php-fpm
  1. 在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编辑器。

  1. 重启php-fpm服务。
systemctl restart php-fpm
  1. 重启Nginx服务。
/usr/local/nginx/sbin/nginx -s reload
  1. 检查PHP安装。

a. 在Nginx的网站根目录下创建PHP探针文件phpinfo.php

echo "<?php phpinfo(); ?>" > /usr/local/nginx/html/phpinfo.php

b. 访问PHP探针页面。在浏览器地址栏输入http://101.132.67.54/phpinfo.php(请将101.132.67.54替换为ECS服务器的公网地址),出现如下页面表示PHP环境配置成功。

wordpress安装配置

使用filezillawordpress上传到服务器进行后续的部署。

五、 实验结论

  通过本次实验掌握了基于CentOS搭建并配置LNMP的Web开发环境的相关操作,学习并使用了WordPress搭建个人博客的相关教程。在处理实验过程中的相关错误时也学习到了基本的常见错误应对与解决策略。同时也综合运用了Linux命令和Vim编辑器在linux环境下进行软件的安装、配置和测试工作。对于之前的知识进行了一个综合的运用和协同工作。

web环境的搭建与配置相关推荐

  1. 网络攻防环境的搭建--MacOs配置Vmnet1及Vmnet8

    网络攻防环境的搭建–MacOs配置Vmnet1及Vmnet8 一.实践内容 1. 实践内容介绍 要求 (1)学习总结 (2)攻防环境搭建详细过程:利用提供的虚拟机镜像和VMWare Workstati ...

  2. Spark开发环境的搭建与配置(基于Linux)

    目录 一.部署环境安装说明 二.Spark安装 1.Spark下载 2.解压Spark安装包 3.配置环境 4.安装scala(scala要在同一目录下) 一.部署环境安装说明 部署环境VMware+ ...

  3. python web环境傻瓜搭建_Python 环境搭建以及神器推荐,果断收藏!

    原标题:Python 环境搭建以及神器推荐,果断收藏! 导读:今天给大家讲一下如何搭建一个舒适的 Python 环境,包括本地环境和远程调试环境,然后再附送给大家两套好用的 Python Web 框架 ...

  4. JavaWeb01(WEB环境的搭建)

    今天要给大家带来的是关于JavaWeb的Web环境搭建,这是非常关键的部分,所以有必要单独拿出来做一下详细解说,为以后的JavaWeb使用打下基础. 在搭建Java Web开发环境时,首先需要安装开发 ...

  5. 如何搭建java web环境_搭建java WEB开发环境和应用

    搭建java WEB开发环境和应用 更新时间:2009年06月07日 02:28:56   作者: 使用Tomcat服务器,使用DBCP数据源搭建Web开发环境 一 使用Tomcat服务器,使用DBC ...

  6. JAVA开发环境的搭建(配置JAVA开发环境)

    1:想要学习Java第一步就是搭建Java环境,就是安装JDK,又因为JDK里面包含JRE,所以在安装JDK的过程中就安装了JRE,所以以下只是给出了JDK的安装包,自行下载安装即可 http://w ...

  7. java搭建环境配置_JAVA开发环境的搭建(配置JAVA开发环境)

    1:想要学习Java第一步就是搭建Java环境,就是安装JDK,又因为JDK里面包含JRE,所以在安装JDK的过程中就安装了JRE,所以以下只是给出了JDK的安装包,自行下载安装即可 http://w ...

  8. SNAP(Standford Network Analysis Project)运行环境的搭建与配置

    因为我女朋友的研究方向是复杂网络(Complex Network),所以我有时也关注一下这个领域的相关知识,更重要的是要帮女朋友做论文的实验.虽然对复杂网络了解不是很深入,但是其对于数据和实验结果的依 ...

  9. 17-阿里云服务器ECS使用教程之Web环境的搭建

    搭建JavaWeb开发环境,无非就是安装个JDK,Tomcat,MySQL 安装方法分为两种:1手动分别安装2下载安装包安装 1.手动安装 安装JDK教程如下:http://blog.csdn.net ...

最新文章

  1. java学习一 path与classpath
  2. 基于sklearn的朴素贝叶斯_朴素贝叶斯分类实战:对文档进行分类
  3. XXX管理平台系统——概要
  4. Entity Framework Core Lolita
  5. 操作系统学习笔记-05-中断和异常
  6. HTTPS加密传输过程
  7. 2018 Multi-University Training Contest 3: G. Interstellar Travel(凸包)
  8. Web服务器压力测试工具?
  9. VS2017+海康威视工业相机调用查找不到设备的问题
  10. 视觉检测系统设计过程中遇到的问题
  11. Luogu P3403 跳楼机|同余最短路
  12. 在购买太阳眼镜时怎样辨别好坏
  13. uniapp自定义开屏启动广告页
  14. Python使用rawpy获取相机图像的原始RAW数据
  15. 如何让医药行业涌现更多“药神”?
  16. DOM算法系列002-寻找指定DOM节点的上一个或下一个节点
  17. 《期权、期货及其他衍生产品》读书笔记(第九章:价值调节量)
  18. StackOverflow上87万访问量的问题:什么是“找不到符号”?
  19. web.。。。。。。。
  20. 【项目管理/PMP/PMBOK第六版/新考纲】计算题25道带答案解析!质量管理/风险规划/整合管理

热门文章

  1. Ls-dyna L型截面梁的定义及截面偏移(通过APDL命令流的方法)
  2. Calendar(日历类)
  3. vscode调试redis
  4. 在Android手机上使用MACE实现图像分类
  5. php返回当天零点零分,获取当天(今日)零点零分零秒
  6. 2019 China Collegiate Programming Contest Qinhuangdao K. MUV LUV UNLIMITED
  7. 2023年系统集成项目管理工程师报考指南,你学会了吗
  8. 写一个登录页面,输入用户名密码, 如果输入正确,跳转 欢迎页面输入错误,返回登录页面,提示错误
  9. Spring Boot中前后端传递数据方式
  10. 稳居第一梯队后,百度“云+AI”向行业纵深挺进