Javaweb知识 day25 Linux&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 http://download.redis.io/releases/redis-3.0.4.tar.gz

    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服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,294评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,780评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,001评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,593评论 1 289
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,687评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,679评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,667评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,426评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,872评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,180评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,346评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,019评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,658评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,268评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,495评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,275评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,207评论 2 352

推荐阅读更多精彩内容