软件安装

软件包的分类

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;
        }

 集群

服务器架构集群:多台服务器组成的响应高并发,高数据量访问的架构体系

特点:

  1.  成本高
  2. 能够降低单台服务器的压力,使流量平均分配到多台服务器
  3. 使网站服务器架构更加稳定

服务器:提供某种或多种服务(功能)的机器(计算机)

  1. 提供网站服务的叫web服务器
  2. 提供数据读写的,叫数据库服务器

web服务器软件:

作用:提供http https协议的服务器,提供网站网页访问的功能

如:

  1. apache  老牌服务器软件,功能多并且多种配置
  2. nginx 并发量高,安装简单,一般用来做Web服务器,代理服务器,邮箱服务器,淘宝用的是tengine,它是建立在nginx的基础上的.

负载均衡服务器

负载均衡:分发请求到不同的服务器,使流量分配

负载均衡服务器:分发请求到不同的服务器,使流量平均分配

提供:负载均衡的软件

  1. lvs  linux下分发软件
  2. nginx  使用upstream 分发

静态资源服务器

静态资源服务器存储静态资源(图片,js,css,视频),一般此服务器会有硬盘读写快速

反向代理服务器

反向代理服务器具有代理请求到对应的服务器的功能,也具有缓存的功能.

提供反向代理的软件

  1. nginx
  2. varnish
  3. squid

代理服务器:

比如: a 需要访问c,但a不能直接访问c. 但是B可以直接访问c,a让b帮忙访问c,把c的数据返回给a.

正向代理:

反向代理:

高可用

高可用服务器:用来监控负载均衡服务器,如果一旦负载均衡宕机,会接替负责负载均衡服务器的工作,继续进行网络的分发工作.

提供高可用的软件

  1. heartbit
  2. keepalived

缓存软件

  1. memmcached
  2. redis

cdn内容分发

 

服务器集群架构图

 

posted on 2018-06-05 21:51  程序员一学徒  阅读(454)  评论(0)    收藏  举报