软件安装
软件包的分类
1.源码包:源代码一般都是用c语言写的,如果我们想用,就必须编译为机器语言,编译时间长,这种包可以看源代码.
优点: 1.开源.如果有足够的能力可以修改源代码 2.可以自由选择所需的功能 3.软件编译安装,稳定性更好 4.卸载方便 缺点: 1.安装步骤多 2.安装时间长 3.安装时出现问题,新手无法解决
4.需要指定安装包的位置 一般安装在 /usr/local/软件名下
源码包启动方式:只能用绝对路径启动
2.二进制包(指的是rpm包或系统默认包):这里的二进制包指的是经过编译的源代码包,
RPM是Red-Hat Package Manager(RPM软件包管理器)的缩写
好处: 1.不需要编译,节省时间, 2.不需要指定安装的位置,系统会安装到默认的位置中 缺点:不能看源代码,
rpm包的默认安装位置

rpm包安装的服务可以使用系统服务管理命令(service)
#例如rpm Apache软件的启动命令 service httpd start
rpm查询
不管你是用的yum安装还是用的rpm安装,都可以用rpm查询,它比yum查询更全面
#查询某个软件是否安装 rpm -q 包名 #q query查询的意思 #查询所有已经安装的rpm包 rpm -qa #a all #查询和某个安装软件相关的软件 rpm -qa |grep python #可以查询出包含关键字python所有软件 #查询包中软件的安装位置 rpm -ql 包名 #查询系统文件中所属于哪个rpm包 rpm -qf 系统文件名 #查询软件包的依赖性 rpm -qR 包名
rpm包安装有两种方式
1.rpm命令安装
最大的问题是无法解决软件依赖性问题
安装
rpm -ivh 包全名 #i install #v verbose 显示详细记录 #h (hash) 显示进度
升级
npm -Uvh 宝全名
#U upgrade
#卸载
rpm -e 包名
2.yum命令安装
yum安装主要是用来解决rpm包依赖问题的而出现的. 你只要安装某一个软件它会把它所依赖的所有软件包都下载下来,并安装好
yum安装有分为两种形式
分为
有网安装,
镜像安装
方法一: 通过yum 安装软件 有网
可以进入国内的这个网站
https://opsx.alibaba.com/mirror
yum源的两种来源: 都在上边的这个网站中
#centos #epel(这个里的软件多一倍比centos中)
首先要更改系统的yum源(可以不更改,但是下载速度慢) 默认的yum源是这个,但是服务器在国外上网速度很慢
/etc/yum.repos.d/CentOS-Base.repo
进入这个网站后,找到centos 的镜像,点击帮助
输入命令它会给你备份:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
然后给你输入下边的命令
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 这样就更改了yum源了.
3)安装常用软件
yum install -y tree bash-completion wget vim #tree 一个小命令Linux tree命令用于以树状图列出目录的内容。执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。 #bash-completion 自动补全的软件 #wget Linux wget是一个下载文件的工具,它用在命令行下。 #vim 文本编辑器 #可以一次性安装多个软件 注意安装软件后需要断开,再连接上,
增加一个新的yum源,这个yum源的软件多, epel方法同上
方法二 通过镜像(不需要上网)
前提保证镜像在你的虚拟机上了,方法看下边是否有一个光盘的东西再亮
具体百度
#挂载光盘
mount /dev/cdrom /mnt/ #mount 给/dev/cdrom 创建一个入口 /mnt 以后从/mnt/ 进入光盘 rpm -ivh /mnt/Packages/bash-completion-2.1-6.el7.noarch.rpm 这样就可以安装软件了 i 是install的意思
常用的一些yum命令
#查询所有可以安装的软件包列表 yum list #安装软件 yum -y install 软件名 #y 回答yes 不再询问你是否安装 ,可以一次安装多个软件 #升级软件 yum -y update 包名 ###注意一定要加包名,否则会升级所有的软件包,包括内核,服务器会宕机 #卸载 建议不要用yum卸载软件,会把所有的依赖都卸载掉,导致其他软件不能用
#显示所有的仓库
yum repolist all
源码安装
安装一些yum中没有的软件 主要是安装nginx
首先要安装c语言编译器gcc
rpm install -y gcc
我们以安装Apache为例子
#1.下载源码包 http://mirror.bit.edu.cn/apache/httpd/ 有两种方法一种是在window中直接下载好,把安装包拖进来 另一种是用 wget下载命令 在系统的源代码的保存目录内输入官网上的下载路径 wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.34.tar.gz #2.解压缩压缩下载的源代码包 tar -zxvf 压缩包全名 #3.进入到解压后的压缩包 cd httpd-2.4.34 我们可以查看这个解压后的文件内容可以看到有这么两个文件INSTALL, readme ,如果你不知道一个软件怎么安装的话就查看这两个文件 #4. ./configure 软件配置与检查, 该脚本会检查系统环境并生成 Makefile,用于后续的编译过程。根据需要,可以添加一些选项来自定义编译过程。 这个功能具体有三个功能 1.定义需要的功能选项 我们可以使用命令来查看需要定义的功能 ./configure --help 2.检查系统环境是否符合安装要求 3.把定义好的功能选项和检查系统环境系统都写到makefile文件中 ./configure --prefix=/usr/local/apache2 指定安装目录 #5.m编译 运行make命令来编译源码。这将根据 Makefile 文件中的指令编译源码,并生成可执行文件和库文件等 make #可以跟 -j 6 使用几个cpu编译 #6. 编译安装 安装生成的文件:运行make install命令将编译生成的文件安装到系统中的预定位置。 make install
#启动
启动方式在install文件中写着呢
mysql的安装
见:https://blog.csdn.net/wyj19950908/article/details/79684574
nginx
python中的Django 使用Nginx和uWSGI来运行Python应用
uWSGI是一个Web后端应用服务器,它具有应用服务器,代理,进程管理及应用监控等功能。它支持WSGI协议,同时它也支持自有的uwsgi协议
Nginx (engine x) 是一个高性能的HTTP和反向代理前端web服务器。也是一个IMAP/POP3/SMTP服务器。用于处理客户端的 HTTP 请求,并将它们转发到后端的 Web 应用程序服务器。
nginx原理:开多个进程来利用多核优势,再开多个线程实现并发,最后每个线程又使用了io模型中的epool来解决单线程下的io
优点
1.占用内存少.
2.并发能力强,可以支持50000个并发
作用
1 提供静态资源访问
静态资源:一般客户端发送请求到web服务器,web服务器从内存在取到相应的文件,返回给客户端,客户端解析并渲染显示出来。
动态资源:一般客户端请求的动态资源,先将请求交于web容器,web容器连接数据库,数据库处理数据之后,将内容交给web服务器,web服务器返回给客户端解析渲染处理。
2.反向代理负载均衡服务器
缺点: 动态资源需要经过nginx服务器从数据库中获取
名称概念
正向代理:如果把局域网外的Internet看成是一个巨大的资源库,则局域网内的用户要访问这个资源库就需要正向代理服务器.比如大陆用户不能访问谷歌,需要通过vpn来访问谷歌,这个vpn就是正向代理服务器.特点一,正向代理需要客户端配置反向代理服务器.
反向代理:客户端不知道有反向代理.客户端不需要任何配置就可以直接访问,我们只需要将请求发送到反向服务器,有反向代理服务器将请求发送到目标服务器,目标服务器将数据先发给反向代理服务器,然后再由反向代理服务器发送给客户端.此时反向代理服务器和目标服务器就是一个服务器,对外暴露的是代理服务器ip,隐藏了真实服务器的ip.
负载均衡:当大量并发请求访问服务器时,单台服务器会崩溃,这时候我们可以增加服务器的数量,然后将请求平均分发到多台服务器来处理请求,这就是负载均衡.
动静分离:为了加快服务器的解析速度,可以把动态页面和静态页面由不同的服务器来解析.加快解析速度,降低单台服务器的压力.
静态资源:可以理解为前端的固定页面,这里面包含HTML、CSS、JS、图片等等,不需要查数据库也不需要程序处理,直接就能够显示的页面,如果想修改内容则必须修改页面,
但是访问效率相当高。
动态资源:需要程序处理或者从数据库中读数据,能够根据不同的条件在页面显示不同的数据,内容更新不需要修改页面但是访问速度不及静态页面。
nginx的部署
1.在nginx的官网中找偶数版本(稳定)的,然后点击复制链接地址 http://nginx.org/download/nginx-1.12.2.tar.gz 2.命令行中 cd /tmp/ 文件中 写入 wget http://nginx.org/download/nginx-1.12.2.tar.gz 编译安装开始 第一步解压到当前文件夹 tar xf nginx-1.12.2.gz 第二步cd tar xf nginx-1.12.2 第三步.这里需要配置./congfigure 这样修改./configure --prefix=/application/nginx-1.12.2 --with-http_stub_status_module --with-http_ssl_module 如果出现问题需要yum install pcre-devel yum install openssl-devel -y 安装这两个软件,安装完后重新执行上边的命令 判断上一个命令执行是否成功 命令 echo $? 返回0正确 第四步: 编译make 第五步: make install 运行nginx
先检查/application/nginx-1.12.2/sbin/nginx -t
在启动/application/nginx-1.12.2/sbin/nginx 这时候输入再浏览器中输入ip地址就可以访问网站了
如果已经运行了,就会出现错误 重启nginx
/application/nginx-1.12.2/sbin/nginx -s reload
nginx的配置文件
nginx 有主配置文件和子配置文件,使用子配置好管理网站
配置中的每一行结尾要以;结尾 worker_processes auto; # work使用几个进程,一般有几个CPU,对应几个进程 events { worker_connections 1024; #每个 work默认最大连接数 } http { include mime.types; #媒体类型 default_type application/octet-stream; sendfile on; #高效传输 keepalive_timeout 65; #连接超时时间 server { #虚拟主机,一个server相当于一个网站 listen 80; #监听的端口 server_name www.etiantian.org; #对应域名 location / { #location 匹配用户访问的资源的路径 root html; #静态资源根目录 index index.html index.htm; #首页文件 } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }
集群
服务器架构集群:多台服务器组成的响应高并发,高数据量访问的架构体系
特点:
- 成本高
- 能够降低单台服务器的压力,使流量平均分配到多台服务器
- 使网站服务器架构更加稳定
服务器:提供某种或多种服务(功能)的机器(计算机)
- 提供网站服务的叫web服务器
- 提供数据读写的,叫数据库服务器
web服务器软件:
作用:提供http https协议的服务器,提供网站网页访问的功能
如:
- apache 老牌服务器软件,功能多并且多种配置
- nginx 并发量高,安装简单,一般用来做Web服务器,代理服务器,邮箱服务器,淘宝用的是tengine,它是建立在nginx的基础上的.
负载均衡服务器
负载均衡:分发请求到不同的服务器,使流量分配
负载均衡服务器:分发请求到不同的服务器,使流量平均分配
提供:负载均衡的软件
- lvs linux下分发软件
- nginx 使用upstream 分发
静态资源服务器
静态资源服务器存储静态资源(图片,js,css,视频),一般此服务器会有硬盘读写快速
反向代理服务器
反向代理服务器具有代理请求到对应的服务器的功能,也具有缓存的功能.
提供反向代理的软件
- nginx
- varnish
- squid
代理服务器:
比如: a 需要访问c,但a不能直接访问c. 但是B可以直接访问c,a让b帮忙访问c,把c的数据返回给a.
正向代理:
反向代理:
高可用
高可用服务器:用来监控负载均衡服务器,如果一旦负载均衡宕机,会接替负责负载均衡服务器的工作,继续进行网络的分发工作.
提供高可用的软件
- heartbit
- keepalived
缓存软件
- memmcached
- redis
cdn内容分发
服务器集群架构图


浙公网安备 33010602011771号