更新时间: 2018-01-11 21:09:30       分类: 运维实战


服务器配置入门(1):搭建LA(N)MP环境

1.什么是服务器?

服务器本质上和我们的PC没什么区别,只是上面长时间(一直)运行着一系列的服务。一般来说,服务器会拥有一个公网的固定ip(当然局域网内的服务器也可能是通过内网访问)来供其他主机访问。

2.服务器的配置

一般来说,一个正常的后端服务,会有以下几部分组成:

  1. 数据库(MySQL,MangoDB等)
  2. 业务系统(由后端编程语言编写,如PHP,Java,Go等)
  3. 服务器:这个服务器是指一种软件,它用于接收基本的HTTP请求,并且和业务系统所用的语言集成,这样就可以处理用户的请求。(常用:Apache,Nginx,Tomcat)。
  4. 操作系统,一般都是Linux(稳定),也有一部分使用Windows的IIS系统作为服务器系统的。

推荐阅读:《图解HTTP协议》

3.从LA(N)MP看一个请求的生命历程

LAMP其实就是一套服务器的配置方案(参考上面的4个组成部分):

这是当前使用最多,配置最简单的一套配置服务器端配置方案,如果把Apache2换成Nginx,就是所谓的LNMP了。

接下来,我们通过一个请求来展示整个HTTP运作的原理。

比如,你在浏览器的地址栏里输入了http://marklux.cn这个地址,让我们打开Chrome的控制台工具,切换到NetWork看看整个过程都发生了什么。

首先 浏览器发送出了一个请求报文,这个报文将会被传送到对应的服务器上去。

如果一切顺利,那么几毫秒后服务器将会受到这个请求,接下来,服务器软件(Apache2,Nginx)将会拦截下这个请求。

根据服务器软件的配置,它会判断这个请求是在请求服务器上的什么资源,如果是在请求一个脚本或者是一段代码,那么就调用相应的连接模块去调用这些代码(也就是所谓的业务系统,这就是后端编写代码的地方)。

后端编写的业务代码里,再根据请求的详细信息去组织要返回的信息,这里往往就会需要调用数据库来获取相应的信息。

后端代码组织封装好需要返回的响应之后,服务器便返回一个响应报文,浏览器接收到响应报文,再去渲染页面,这就是一次完整的请求与响应。

4.配置服务器环境

所谓配置服务器环境,说的通俗一点,就是把四个部分所需要的软件都装上,再修改修改相关的配置,让他们成为一个整体就好了。

我们就以最为简单的lanp为例子,来演示整个过程。

  1. 安装服务器的操作系统

    这部分一般运营商会给你提供一个解决方案,只要选个顺眼的系统点下按钮就可以自动安装好了,一般会使用centOS或者Ubuntu这两个发行版本来当做服务器的操作系统。

  2. 连接到你的服务器

    首先你要明白,现在的服务器一般是由云端主机分配出的一小块虚拟机,你操控你的服务器的唯一途径就是通过终端进行远程连接(一般是所谓的ssh,当然不少云服务器也提供web端的终端)。使用ssh连接会更加稳定和方便,但是这要求你使用linux或者unix操作系统,windows系统不支持ssh命令(据我所知windows上可以进行ssh的软件也都很垃圾),当然最新的windows10系统似乎有linux子系统可以拿来用,在这里我们还是用unix系统来演示吧。

    ssh的命令大概长下面这个样子:

     ssh ubuntu@123.206.52.64
    

    这代表你想要通过ssh,使用ubuntu用户,连接到公网IP为123.206.52.64的主机上去。

    如果你不能理解这是什么意思,请自学一下linux系统的相关基础知识。接下来的整个过程都是在linux操作系统的基础上进行的,并且没有图形界面,只能通过命令行来进行交互。因此需要具有一定的linux系统知识(会用个大概)。

    如果你是第一次连接这个主机,系统会提示你是否要把该主机的公钥计入新人列表,输入yes回车即可。

    然后输入用户登录的密码,就可以成功进入系统了。(你的终端将变成下面这样:)

     Last login: Mon Mar 27 21:13:17 2017 from 	218.12.165.255
    	
     ubuntu@VM-124-6-ubuntu:~$ 
    

    现在你已经登录到远程主机,可以进行进一步操作了。

  3. 安装LNMP

    + 参考文章1 + 参考文章2

    以ubuntu server为例,使用apt-get来安装各种软件。

    (如果你不能理解下面的过程,建议你看看linux基础)

    * 安装nginx:

     sudo apt-get install nginx
    

    * 安装mysql

     sudo apt-get install mysql-sever mysql-client
    

    这个安装过程中会让你输入root用户的密码,记得不要忘了不然很麻烦

    * 安装php(7.0)

    16.04以下的Ubuntu没有7.0的源,需要先自己添加然后安装:

```
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install  php7.0-mysql php7.0-curl php7.0-json php7.0-cgi  php7.0 php7.0-fpm
```
  1. 配置

    安装完所有组件之后,你需要进行一些相关的配置。

    nginx的默认配置文件在/etc/nginx/nginx.conf

    总的来说,你需要在nginx上自定义一个服务器虚拟主机,并且配置php相关组件(使用fpm连接),才能够正常使用。

    nginx的配置参考我写的这篇文章:

    nginx配置与二级域名

    配置好之后请重启你的nginx和mysql服务。

    最后放一个test.php文件在你配置的root目录下,尝试访问,如果正常就可以看到服务器的相关配置情况了。


评论

还没有评论