电商服务架构——LAMP

LAMP简介

LAMP是典型的电商架构,其是linux/nuix/windows+apache/nginx+mysql/pgsql+php/python/golang结构的简称。

(本篇各软件的安装将使用源码压缩包安装,旨在培养源码安装能力,虽然目前企业中安装软件使用的是rpm包,但是源码安装软件也是必备技能。)

制作rhel7.6母盘

目前redhat已经更新到8.3版本,但是由于各种原因,企业中应用的还是以rhel7为主,因此开始先制作rhel7.6的母盘,由母盘可以出创建出多台设备,其原理类似于VMware中创建链接克隆,其优点在于占用硬盘资源极少,在不开机时只有2M左右。

  • 在vmware或KVM中安装rhel7.6(安装时选择最小化安装;在实验阶段可以选择关闭kdump以减少系统资源;开机时按e加上selinux=0不开启selinux)在这里插入图片描述
    在这里插入图片描述

  • 安装完成后,配置静态网络
    在这里插入图片描述

  • 设置yum源:在物理机(rhel)中安装httpd,发布网络软件仓库,在rhel7.6中配置yum源,并用yum repolist检查yum源
    在这里插入图片描述

  • 关闭防火墙,关闭NetworkManager,设置selinux为disabled
    systemctl disable --now firewalld
    systemctl disable --now NetworkManager
    vim /etc/selinux/config

  • 创建母盘
    在物理机中安装virt-sysprep
    使用virt-sysprep -d 虚拟机名清理信息
    virt-sparsify --compress 虚拟机名.qcow2 母盘名.qcow2 生成rhel母盘
    qemu-img create -f qcow2 -b 母盘名.qcow2 node1 利用母盘创建node1
    在这里插入图片描述

注:此过程类似与VMware中使用链接克隆,如果本身linux就装在VM中,可以直接使用链接克隆,如果物理机为linux,使用KVM执行以上步骤。

Nginx

什么是nginx

Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP/SMTP服务。

Nginx是一款轻量级的Web服务器、反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

nginx的作用

正向代理
正向代理,是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端,客户端才能使用正向代理。当需要把你的服务器作为代理服务器时,可以用Nginx来实现正向代理。

反向代理
反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet上 的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

负载均衡
负载均衡就是将一个任务分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务,简单而言就是当有2台或以上服务器时,根据规则随机的将请求分发到指定的服务器上处理。负载均衡配置一般都需要同时配置反向代理,通过反向代理跳转到负载均衡,而Nginx目前支持自带3种负载均衡策略,还有2种常用的第三方策略。

HTTP服务器
Nginx本身也是一个静态资源的服务,当只有静态资源的时候,就可以使用Nginx来做服务器,同时现在也很流行动静分离,就可以通过Nginx来实现。动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路。

优点

  • 高并发量:根据官方给出的数据,能够支持高达 50,000 个并发连接数的响应

  • 简单稳定:配置简单,基本在一个conf文件中配置,性能比较稳定,可以7*24小时长时间不间断运行

  • 内存消耗少:处理静态文件,同样起web 服务,比apache 占用更少的内存及资源,所以它是轻量级的

  • 模块化程度高:Nginx是高度模块化的设计,编写模块相对简单,包括 gzipping, byte ranges, chunked responses,以及 SSI-filter 等 filter,* 支持 SSL 和 TLSSNI。

  • 支持Rwrite重写规则:能够根据域名、URL的不同, 将HTTP请求分发到不同的后端服务器群组。

  • 低成本:Nginx可以做高并发的负载均衡,且Nginx是开源免费的,如果使用F5等硬件来做负载均衡,硬件成本比较高。
    *支持多系统:Nginx代码完全用C语言从头写成,已经移植到许多体系结构和操作系统,包括:Linux、FreeBSD、Solaris、Mac OS X、AIX以及Microsoft Windows,由于Nginx是免费开源的,可以在各系统上编译并使用。
    缺点

  • 动态处理差:nginx处理静态文件好,耗费内存少,但是处理动态页面则很鸡肋,现在一般前端用nginx作为反向代理抗住压力,apache作为后端处理动态请求。

  • rewrite弱:虽然nginx支持rewrite功能,但是相比于Apache来说,Apache比nginx 的rewrite 强大。

nginx官网

docs.nginx.com
里面有nginx详细的配置方案

安装Nginx

tar zxf nginx-1.18.0.tar.gz 解压安装包
在这里插入图片描述
在这里插入图片描述
扩展资料
Configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./configure --help输出详细的选项列表。其中,prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr/local/share,比较凌乱。如果配置prefix,如:
./configure --prefix=/usr/local/nginx可以把所有资源文件放在/usr/local/nginx的路径中,不会杂乱。
后面还会用到cmeke,gmake编译

./configure与cmake详见文末

./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module 运行安装脚本,并根据提示逐一解决依赖性
其中–prefix=/usr/local/nginx表示自定义安装目录, – with-XXX_ module选项表示指明安装对应的模块,–without-XXX_ module选项表示指明不安装对应的模块
在这里插入图片描述
yum install -y gcc
在这里插入图片描述
vim auto/cc/gcc 注释debug

yum install -y pcre-devel 提示缺少PCRE动态库,而库包含很多文件,-devel指相应的开发包
在这里插入图片描述
yum install -y openssl-devel 加-devel,原因同上
此时./configure --prefix=/usr/local/nginx --with-http_ssl_module脚本运行成功,接下来编译安装软件
ll Makefile 查看是否出现Makefile(注意Make首字母大写)
make && make install 前者是编译后者是安装

cd /usr/local/nginx/sbin 进入安装目录下的sbin才能执行以下命令
在这里插入图片描述
./nginx 启动nginx
./nginx -v 查看版本信息
./nginx -t 检查配置文件有没有错误
./nginx -s stop 关闭nginx
yum install -y net-tools.x86_64 在rhel7中不能使用netstat命令,需安装net-tools
netstat -antlp | grep :80 查看是启动还是关闭状态
在这里插入图片描述

测试

在这里插入图片描述
在这里插入图片描述
Bingo!!!

mysql

DQL DCL DML DDL

源码安装mysql并逐一解决依赖性

在mysql 官网 https://www.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
本文主要总结了在Ubuntu10下常用Java Web应用软件的安装,特别是LNMJ Web(Linux+Nginx+Mysql+Java Tomcat)架构和LAMJ Web(Linux+Apache+Mysql+Java Tomcat)架构下的软件安装。为进一步配置和实现LNMJ和LAMJ架构(负载均衡与集中式Memcached集群)进行前期准备。本文记录了安装过程经常出现的错误,并提供了解决办法,具有很好的实用性,是居家旅行必备之良品。 主要内容有: VirtualBox4.0的安装和配置 包括VirtualBox下网络环境的配置,和主机文件的共享,主机和虚拟机剪贴板共享等内容。 http://peterwei.javaeye.com/blog/968815 Ubuntu10下JDK1.6安装 http://peterwei.javaeye.com/blog/968758 Ubuntu10下Tomcat7安装 http://peterwei.javaeye.com/blog/968774 Ubuntu10下Eclipse3.6安装 http://peterwei.javaeye.com/blog/975129 Ubuntu10下Nginx-0.8.54安装 http://peterwei.javaeye.com/blog/969991 Ubuntu10下Apache-2.2安装 http://peterwei.javaeye.com/blog/975122 Ubuntu10下Mysql-5.1.56安装 http://peterwei.javaeye.com/blog/976422 Ubuntu10下Memcached-1.4.5安装 http://peterwei.javaeye.com/blog/974445 Ubuntu10下SSH2协议安装 http://peterwei.javaeye.com/blog/976944 Ubuntu10下Subversion安装 http://peterwei.javaeye.com/blog/976916 Ubuntu10下中文输入法安装 http://peterwei.javaeye.com/blog/976908 Ubuntu Linux实用命令 http://peterwei.javaeye.com/blog/976950 当然,最后也提供了PDF格式的附件统一下载,方便大家查看。下载后觉得不错的,不要吝啬你的掌声。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值