linux上有三种安装软件的方法:
1.rpm 是预编译好的程序 参数都是已经配置好了的,使用的是通用参数。不够灵活和个性化。可控制性不强,不能安装特定组件
2.yum 最简单可靠的安装方式,改良的rpm。 只要能联网就可以自动下载安装包,然后自动管理依赖关系
3.编译安装 最个性化的安装,可根据系统的环境定制想要的组件和安装参数,比较难。
编译方式安装下载的是tar.gz的格式的源码安装包
编译安装的步骤(拿nginx的编译安装作为例子)
1.首先安装依赖项
nginx的准备工作:编译器gcc 正则表达式工具 pcre 传输内容压缩 zlib https支持 openssl
用yum -y install的命令就可以下载这些工具,如果存在就不会下载,没有 就去下载了。
2.解压之前下载的nginx的源码压缩包
tar zxf nginx-1.8.0.tar.gz
3.解压完成后,进入nginx的文件夹 执行里面的configure命令就可以进行参数的配置,就是比如你打算安装什么组件,打算安装在哪里等等
可以通过在当前文件夹下执行 ./configure --help来查看整个的帮助文档
配置好之后就可以进行安装了
4.使用make进行编译和make install把编译好的文件复制到指定的位置,也就是刚刚上面配置的地方
nginx的启动和停止
进入nginx的文件夹中有一个sbin的文件夹,然后里面有一个nginx的程序,直接执行它就是启动nginx了
./nginx -s stop 是停止nginx的命令
./nginx -s reload 重启nginx的命令
设置软件随着开机启动的方法
在centos下 /etc/rc.d/rc.local里面添加启动软件的命令就可以了
Nginx的配置和优化
到nginx下的conf里面有一个nginx.conf的配置文件去配置nginx
这里的include是包含某个文件
default_type是找不到对应的类型映射时的默认http处理mime类型。
如果没有一个域名能正确匹配,就会默认匹配第一个server
错误页的配置
如果指向另一个网站,不能直接指向。必须要代理proxypass 要用@变量定义一个
有两种网络请求模型
阻塞模型就是一个请求过来处理完才进行下一个,类似串行处理
然后非阻塞模型是一个请求过来如果还不能处理就先放入一个队列,继续接受下一个请求。然后哪个请求能马上执行的就先执行。不会很生硬的等第一个好了才去执行(举个例子:有的人一定要先喝汤再吃饭,这种就是阻塞模型。还有一种就是汤来了,一看太烫还不能喝。然后饭也来了。饭可以先吃那就先吃了,然后汤凉了在去喝汤。如果汤和饭都很烫,就一直观察,哪个先凉就先处理哪个)
网络工作进程数 worker_processes
一般一个就够
工作进程到CPU的绑定 worker_cpu_affinity
我们可以看到这个数字是由4组每组4个数字组成,
CPU是几核的就设置一组数字有几个,有几个工作进程就设置几组数字
数字只有0和1,1代表绑定了。0则是无。比如上面的那组数字的0001,代表第一个工作进程绑定在最后一个核心上面,0010代表第二个工作进程绑定在倒数第二个核心上面,以此类推。
最大可打开文件描述符数量worker_rlimit_nofile
越大越好
每个进程允许的最大同时连接数 worker_connections
两种非阻塞模型epoll和kquene
nginx默认使用epoll
大多数时候不用配置它
访问日志 access_log和错误日志error_log
内核复制模式 sendfile
简单来说,一个磁盘文件从从磁盘到网络要经过一系列的复制才会发送出去。用了这个内核模式就可以直接从磁盘文件IO复制到网络IO,减少了复制过程。
持久链接时间keepalive_timeout 内容压缩gzip gzip_min_length最小压缩数据大小 gzip_comp_level压缩级别 压缩内容类别 gzip_types
静态文件缓存
max 最大可缓存文件数 inactive文件未使用的存活期
open_file_cache_vaild 验证有效期的间隔 每隔这个时间就会来查看一下哪些文件变成了有效,哪些是无效的
那么如何判断有效和无效,就是看min_uses和inactive这两个参数 如果在存活期内没有使用达到最少规定的次数就会变成无效文件,反之则是有效。
tomcat的安装
首先去网上下载好jdk和tomcat的tar.gz的文件
然后去解压并放在指定目录 /opt/
配置环境变量
/etc/profile.d 里面有很多.sh的脚本文件 系统启动时会默认的去扫描和找到这里所有的.sh文件
在这里创建了一个java.sh的文件
PATH作用是为了方便在命令行的任何位置调用java命令
JAVA_HOME让tomcat找到java的位置
然后使用source /etc/profile来使设置生效
查看tomcat文件夹中的log中的catalina.out就可以查看tomcat的整个运行结果,就像Windows下的控制台一样。包括system.out等打印的log日志等
再次进入/etc/rc.d/rc.local 里面去设置tomcat的开机运行
tomcat优化
在tomcat文件夹下的catalina.sh里面
-server 使用server模式 Xms最小使用内存 Xmx最大使用内存
在server.xml里面
maxThread 最大线程数 当前tomcat可以最大同时处理请求的数量
minspareThread 最小空闲线程数
maxThread+acceptcount就等于最大可接受的连接数,超过了就会产生http错误。不会再进行连接