软件测试之LNMP环境搭建

一.LNMP简介
近几年随着Nginx Web服务的逐渐流行,又出现了新的Web服务环境组合——LNMP或LEMP其中LNMP为Linux、Nginx、MySQL、PHP等首字母的缩写,而LEMP中的E则表示Nginx。
1.1 网站的访问流程
我们开发的所有项目代码最终效果是所有用户都能访问的到,那么我们首先要考虑的是,他们如何怎么访问公司所开发的网站?现在我们有必要来说一下,简单的网站访问流程
在这里插入图片描述
完整的请求流程:
1、用户在自己的浏览器中输入一段web请求地址
2、浏览器会对这个请求进行拆分:
ip地址找对应的服务器
port端口找服务器上监听该端口的服务
然后将最后的具体请求交给web服务去处理
3、web服务接收该请求后,处理该请求,
4、如果遇到一些数据处理,需要到后端的数据库服务获取数据
5、数据库服务返回数据给web服务
6、web服务生成完整的web网页,以数据报文的形式发送到客户端的浏览器
7、浏览器渲染web网页,最后展示给用户
1.2 URI、URL、URN
在这里插入图片描述
URI,URL,URN简介
URI是uniform resource identifier,统一资源标识符,是一个紧凑的字符串用来标示抽象或物理资源唯一的标识。URI 可以进一步被分为定位符、名字或两者都有。
URL是uniform resource locator,统一资源定位器,它是一种具体的URI,它重点是指明了如何定位该资源的主要访问机制(如其网络“位置”)。
URN,uniform resource name,统一资源命名,它是一种具体的URI,它重点是指明了如何命名该资源的主要访问机制。

三者之间的区别(面试中可能会问到)
URI是以一种抽象的,高层次概念定义统一资源标识,URL和URN都是一种具体的URI,URL侧重于资源的定位,URN侧重于资源的命名。
当前我们一般使用URL来称呼一个web的浏览器地址,但是规范的术语是URI

二.基本环境配置
本机环境:Windows10安装centos7,关于虚拟机的安装我这边不做详细介绍,网上教程很多。
开始正式搭建环境之前,因为我们安装的软件比较多,所以我们需要创建服务和软件的专用目录基本环境配置
基本软件目录

mkdir /data/{server,soft} -p

这样方便查找
2.1 LNMP 之 N
Nginx是一个轻量级的Web软件,它有非常强大的功能,下面我们只学习它最基本的功能。
2.1.1 nginx安装
1)基本依赖环境部署
安装nginx软件的基本依赖软件

yum  install openssl-devel pcre-devel gcc -y

2)编译安装nginx
注意:
编译安装nginx的时候,应该有一个专用的启动用户,我们把这个用户设置为 www

编译安装nginx

tar xf nginx-1.10.2.tar.gz 
cd nginx-1.10.2
./configure --prefix=/data/server/nginx
make
make install

创建专用的启动用户www

useradd www -s /sbin/nologin -M

修改配置文件

[root@localhost soft]# vim /data/server/nginx/conf/nginx.conf
user  www;

3) 检查效果
启动nginx

/data/server/nginx/sbin/nginx

检查端口

[root@localhost nginx-1.10.2]# netstat -tnulp | grep nginx
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      42500/nginx         

查看浏览器效果
在这里插入图片描述
软件安装总结
解压 tar
作用:解压文件,获取真正的配置文件
配置 configure
作用:根据默认的配置项或者更改配置项,生成编译配置文件(Makefile)
编译 make
作用:根据 Makefile 内容,编译生成指定的软件所需要的所有文件
安装 make install
作用:将编译生成的所有文件,转移到软件指定安装的目录下面

2.1.2 nginx命令简介
检查nginx

/data/server/nginx/sbin/nginx -t

启动nginx

/data/server/nginx/sbin/nginx

关闭nginx

/data/server/nginx/sbin/nginx -s stop

重载nginx

/data/server/nginx/sbin/nginx -s reload

启动后检查

netstat -tnulp | grep nginx

备注:nginx 默认的配置文件
/data/server/nginx/conf/nginx.conf

2.2 LNMP 之 M

2.2.1 mysql安装
mysql的安装方法很多,最简单的而且最适用就是二进制方法安装。接下来我们使用mysql的二进制包来进行安装部署mysql
1)解压软件

tar xf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz -C /data/server/
cd /data/server/
ln -s mysql-5.6.35-linux-glibc2.5-x86_64 mysql

2)创建专用用户

useradd -s /sbin/nologin -M mysql

3)初始化mysql数据库

 /data/server/mysql/scripts/mysql_install_db --basedir=/data/server/mysql --datadir=/data/server/mysql/data/ --user=mysql

4)数据库配置文件管理

mv /etc/my.cnf /etc/my.cnf-bak
cp /data/server/mysql/support-files/my-default.cnf /etc/my.cnf

5)数据库启动命令配置

cp /data/server/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld

6)启动文件修改

sed -i 's#/usr/local/mysql#/data/server/mysql#g' /data/server/mysql/bin/mysqld_safe /etc/init.d/mysqld

7)数据库文件权限管理

chown -R mysql.mysql /data/server/mysql/

8)启动数据库前检查

netstat -tnulp | grep mysql

9)启动数据库

/etc/init.d/mysqld start

10)检查数据库启动状态

netstat -tnulp|grep mysqld

11)配置环境变量

vim /etc/profile
#在末尾添加下面这条配置
PATH=/data/server/mysql/bin:$PATH
#让配置文件生效
source /etc/profile

12)测试进入数据库

[root@localhost server]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.35 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

13)将mysql服务设置为开机自启动服务

chkconfig --add mysqld
chkconfig mysqld on

2.2.2 mysql简单操作
设置mysql数据库登录用户名与密码
前文有提到过登录数据库需要输入用户名和密码,此时我们就设置一个密码

[root@localhost server]# mysqladmin -u root password '123456'
Warning: Using a password on the command line interface can be insecure.

查询默认的数据库信息

show databases;   <--- 查询默认的数据库信息

选择使用一个数据库

use mysql;    <--- 表示选择使用一个数据库,相当于cd进入一个数据库

查看当前所在数据库

select database(); <--- 表示查看当前所在数据库,类似于pwd命令的功能

查看当前登录数据库的用户

select user(); <--- 查看当前登录数据库的用户,类似于whoami命令

2.3 LNMP 之 P
2.3.1 基本软件安装
1)安装基本依赖软件

yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel -y

2)安装libiconv软件

cd /data/soft
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make
make install

3)安装其他软件包

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum -y install libmcrypt-devel mhash mcrypt

注释:
这三个软件包,在本地的光盘镜像中没有,所以我们需要去网上下载
4)安装php

cd /data/soft/
tar xf php-5.3.29.tar.gz
cd php-5.3.29

在解压后的PHP目录内执行

ln -s /data/server/mysql/lib/libmysqlclient.so.18  /usr/lib64/
touch ext/phar/phar.phar
./configure \
--prefix=/data/server/php-5.3.29 \
--with-mysql=/data/server/mysql \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir=/usr/local/libiconv \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-mcrypt \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--enable-short-tags \
--enable-static \
--with-xsl \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-ftp
编译时可能会出错,先执行上面的操作再编译安装
make
make install     

5)php文件配置
创建目录,生成程序文件,这里失败的话/data/server下就不会有php的目录

[root@localhost php-5.3.29]# ls /data/server/
mysql  mysql-5.6.35-linux-glibc2.5-x86_64  nginx  php-5.3.29

创建一个软链接,方便使用,更新软件时,重新创建软链接即可

cd /data/server
ln -s php-5.3.29 php

把解压包内的php解析文件拷贝到php安装目录下

cd /data/soft/php-5.3.29
cp php.ini-production /data/server/php/lib/php.ini
修改php.ini文件,开启session功能
vim /data/server/php/lib/php.ini
...
[Session]
; Handler used to store/retrieve data.
; http://php.net/session.save-handler
session.save_handler = files
#原内容:
;session.save_path = "/tmp
#修改后内容:
session.save_path = "/tmp
复制php-fpm的配置文件,默认没有该文件但是有一个备份文件
cd /data/server/php/etc/
cp php-fpm.conf.default php-fpm.conf

6)启动php
和nginx一样,使用程序目录下的启动命令来启动php,然后检查进程和端口号即可。

[root@localhost etc]# /data/server/php/sbin/php-fpm 
[root@localhost etc]# netstat -tnulp | grep php-fpm
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      35770/php-fpm       
[root@localhost etc]# ps aux | grep php-fpm
root      35770  0.0  0.1 222924  4380 ?        Ss   22:15   0:00 php-fpm: master process (/data/server/php-5.3.29/etc/php-fpm.conf)
www       35771  0.0  0.1 222924  4124 ?        S    22:15   0:00 php-fpm: pool www            
www       35772  0.0  0.1 222924  4124 ?        S    22:15   0:00 php-fpm: pool www            
root      35778  0.0  0.0 103316   844 pts/4    S+   22:16   0:00 grep php-fpm

2.3.2 php简单操作

#启动php
/data/server/php/sbin/php-fpm
#关闭php
pkill php-fpm

备注:所有的软件安装包自行提取下载
链接:https://pan.baidu.com/s/1yO7Z07b_4gehB-tYr0EOAg
提取码:wabm

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A7Seven

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值