Javaweb知识day25Linux&Nginx

一、Linux上软件安装

1.1 Linux上的软件安装有以下几种常见方式介绍:

1. 二进制发布包:软件已经针对具体平台编译打包发布,只要解压,修改配置即可

2. RPM包:软件已经按照redhat的包管理工具规范RPM进行打包发布,需要获取到相应的软件RPM发布包,然后用RPM命令进行安装

3. Yum在线安装:软件已经以RPM规范打包,但发布在了网络上的一些服务器上,可用yum在线安装服务器上的rpm软件,并且会自动解决软件安装过程中的库依赖问题

4. 源码编译安装:软件以源码工程的形式发布,需要获取到源码工程后用相应开发工具进行编译打包部署。

1.2 上传与下载工具介绍:

1.2.1 FileZilla

1.2.2 1. lrzsz

我们可以使用yum安装方式安装:yum install lrzsz

注意:必须有网络

可以在crt中设置上传与下载目录

上传:rz

下载:sz 文件名

1.3 在Linux上安装JDK:

1.3.1步骤一:上传JDK到Linux的服务器

#上传jdk压缩包

# 查看jdk版本

java –version

# 查看安装的jdk信息

rpm -qa | grep java

# 卸载jdk

rpm -e --nodeps java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.i686

1.3.2 步骤二:在Linux服务器上安装JDK.

* 通常将软件安装到/usr/local

* 直接解压就可以

tar –xvf jdk.tar.gz -C 目标路径

1.3.3 步骤三:配置JDK的环境变量:

# vi /etc/profile

# 在末尾行添加:

JAVA_HOME=/usr/local/jdk/jdk1.7.0_71

CLASSPATH=.:$JAVA_HOME/lib.tools.jar

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME CLASSPATH PATH

# source /etc/profile 使更改的配置立即生效

1.4 在Linux上安装Mysql:

1.4.1:将mysql的安装文件上传到Linux的服务器

1.4.2:将mysql的tar解压

1.4.3:安装MYSQL服务端

1.4.4:安装MYSQL客户端

1.4.5:设置root用户的密码:set password=password(root);

1.4.6:开启mysql服务:service mysql start

1.4.7:开启mysql远程访问:

grant all privileges on *.* to root @% identified by root;

flush privileges;

1.5 在Linux上安装tomcat:

1.5.1 Tomcat上传到linux上

1.5.2 将上传的tomcat解压

1.5.3 在tomcat/bin目录下执行 startup.sh(注意防火墙)

1.5.4 查看目标 tomcat/logs/catalina.out

1.6 在Linux上安装redis:

1.6.1 步骤一:安装gcc-c++

redis是C语言开发,安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境。

输入命令: yum install gcc-c++

1.6.2 步骤二:安装redis

1. 下载redis

wget

2. 解压

tar -xzvf redis-3.0.4.tar.gz

3. 编译安装、

切换至程序目录,并执行make命令编译:

cd redis-3.0.4

make

执行安装命令:

make PREFIX=/usr/local/redis install

make install安装完成后,会在/usr/local/bin目录下生成下面几个可执行文件,

它们的作用分别是:

redis-server:Redis服务器端启动程序

redis-cli:Redis客户端操作工具。也可以用telnet根据其纯文本协议来操作

redis-benchmark:Redis性能测试工具

redis-check-aof:数据修复工具

redis-check-dump:检查导出工具

1.6.3 步骤三:配置redis

复制配置文件到/usr/local/redis/bin目录:

cd redis-3.0.4

cp redis.conf /usr/local/redis/bin

1.6.4 步骤四:启动redis

进入redis/bin目录

cd redis/bin

启动redis服务端

./redis-server redis.conf

克隆新窗口,启动redis客户端

./redis-cli

二、Nginx

2.1 Nginx 是一款高性能的 http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。

2.2 Nginx 应用场景:

1、Nginx可以独立提供 http 服务,可以做网页静态服务器。

2、虚拟主机:可以实现在一台服务器虚拟出多个网站,例如个人网站使用的虚拟主机。

3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

2.3 Nginx在Linux下的安装:

2.3.1 安装 gcc 的环境:yum install gcc-c++

2.3.2 安装第三方的开发包PCRE:

PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括perl兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库

yum install -y pcre pcre-devel

注:pcre-devel 是使用 pcre 开发的一个二次开发库。nginx 也需要此库。

2.3.3 安装zlib:

zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装 zlib 库:

yum install -y zlib zlib-devel

2.3.4 安装OpenSSL:

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持 http协议,还支持https(即在 ssl 协议上传输 http),所以需要在linux安装openssl 库。

yum install -y openssl openssl-devel

2.3.5 Nginx安装:

步骤一:把nginx的源码包nginx-1.8.0.tar.gz上传到linux系统

步骤二:解压缩:tar zxvf nginx-1.8.0.tar.gz

步骤三:进入nginx-1.8.0目录,使用configure命令创建makeFile文件。

Makefile是一种配置文件,一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。

configure参数详解:

./configure \

--prefix=/usr/local/nginx \ 指向安装目录

--pid-path=/var/run/nginx/nginx.pid \ 指向pid

--lock-path=/var/lock/nginx.lock \ 安装文件锁定,防止误操作

--error-log-path=/var/log/nginx/error.log \ 指向log

--http-log-path=/var/log/nginx/access.log \ 指向http-log

--with-http_gzip_static_module \ 启用在线实时压缩输出数据流

--http-client-body-temp-path=/var/temp/nginx/client \ 设定http客户端请求临时文件路径

--http-proxy-temp-path=/var/temp/nginx/proxy \ 设定http代理临时文件路径

--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \ 设定http fastcgi临时文件路径

--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \ 设定http uwsgi临时文件路径

--http-scgi-temp-path=/var/temp/nginx/scgi 设定http scgi临时文件路径

步骤四:编译 make

步骤五:安装 make install

2.3.6 Nginx启动与访问

注意:启动nginx 之前,上边将临时文件目录指定为/var/temp/nginx/client,

需要在/var下创建此目录:

mkdir /var/temp/nginx/client -p

进入到Nginx目录下的sbin目录

cd /usr/local/ngiux/sbin

输入命令启动Nginx

./nginx

启动后查看进程

ps aux|grep nginx

关闭 nginx:

./nginx -s stop

或者

./nginx -s quit

重启 nginx:

1、先关闭后启动。

2、刷新配置文件:

./nginx -s reload

2.4 Nginx静态网站部署:

2.4.1 配置虚拟主机

虚拟主机,也叫“网站空间”,就是把一台运行在互联网上的物理服务器划分成多个“虚拟”服务器。虚拟主机技术极大的促进了网络技术的应用和普及。同时虚拟主机的租用服务也成了网络时代的一种新型经济形式。

2.4.2 端口绑定:

第一步:上传静态网站:

将/资料/静态页面/index目录上传至 /usr/local/nginx/index下

将/资料/静态页面/regist目录上传至 /usr/local/nginx/regist下

第二步:修改Nginx 的配置文件:/usr/local/nginx/conf/nginx.conf

server {

listen 81; # 监听的端口

server_name localhost; # 域名或ip

location / { # 访问路径配置

root index;# 根目录

index index.html index.htm; # 默认首页

}

error_page 500 502 503 504 /50x.html; # 错误页面

location = /50x.html {

root html;

}

}

server {

listen 82; # 监听的端口

server_name localhost; # 域名或ip

location / { # 访问路径配置

root regist;# 根目录

index regist.html; # 默认首页

}

error_page 500 502 503 504 /50x.html; # 错误页面

location = /50x.html {

root html;

}

}

2.4.3 域名绑定:

域名与IP绑定:

一个域名对应一个 ip 地址,一个 ip 地址可以被多个域名绑定。

本地测试可以修改 hosts 文件(C:\Windows\System32\drivers\etc)

可以配置域名和 ip 的映射关系,如果 hosts 文件中配置了域名和 ip 的对应关系,不需要走dns 服务器。

192.168.177.129 www.hmtravel.com

192.168.177.129 regist.hmtravel.com

做好域名指向后,修改nginx配置文件

server {

listen 80;

server_name www.hmtravel.com;

location / {

root cart;

index cart.html;

}

}

server {

listen 80;

server_name regist.hmtravel.com;

location / {

root search;

index search.html;

}

}

2.5 Nginx反向代理与负载均衡

2.5.1 什么是反向代理

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

2.5.2 什么是负载均衡

负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。