主要内容:

  • 软件安装方式
  • 上传与下载工具
  • 常用软件的安装--jdk、tomcat、mysql、redis
  • 项目的部署
  • Nginx的安装
  • Nginx的功能
    • 静态网站部署
    • 虚拟主机配置及端口绑定
    • 域名绑定
    • 反向代理与负载均衡  

一、Linux软件安装

1、目录结构

  • ~表示root目录,即/root
  • 软件安装在/usr/local下

2、软件安装方式

  • 二进制发布包

软件已经针对具体平台编译打包发布,只要解压,修改配置即可【tar.gz或tar文件】

  • RPM包

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

  • Yum在线安装

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

  • 源码编译安装

软件以源码工程的形式发布,需要获取到源码工程后用相应开发工具进行编译打包部署。【make install】

3、上传与下载工具

  • FileZilla
  • lrzsz
  • SFTP:Alt+P快捷键(在SecureCRT中)
    • put上传,get下载到文档

二、软件的安装

1、jdk

  • 上传tar.gz文件到/usr/local/tomcat下
  • 卸载自带jdk
* 上传JDK
* 卸载open-JDK
# 查看jdk版本
java –version
# 查看安装的jdk信息
rpm -qa | grep java
# 卸载jdk
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.i686
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.i686 
  • 解压安装
* 通常将软件安装到/usr/local
* 直接解压就可以
# 如 tar –xvf jdk.tar.gz -C 目标路径
tar –zxvf jdk-7u71-linux-i586.tar.gz -c ./jdk
  • 配置环境变量
① vi /etc/profile
② 在末尾行添加
#set java environment
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 使更改的配置立即生效

2、MySQL

  • 上传并解压
# 上传
cd /usr/local/
mkdir mysql
rz
# 解包
tar -xvf MySQL-5.6.22-1.el6.i696.rpm-bundle.tar    
  • 卸载默认MySQL
# 将系统自带的mysql卸载
rpm –qa | grep mysql
rmp -e --nodeps mysql-libs-5.1.73-5.el6_6.i686
  • 安装客户端及服务器端
# 安装服务器端
rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm
# 安装客户端
rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm
  • 查看初始密码并登录
# 查看初始密码
cat /root/.mysql_secret
# 启动MySQL服务
service mysql start
#登录
mysql -uroot -p初始的随机密码
# 设置root用户的密码
set password=password('root')
# 使用
show databases;
  • 设置远程访问
# 1.关闭防火墙
service iptables stop;
# 2.也可以将防火墙打开3306端口
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables status
# 设置远程访问
grant all privileges on *.* to 'root' @'%' identified by 'root';
flush privileges;

3、Tomcat

  • 上传解压
# 上传
rz
# 解压
tar -zxvf tomcat-5.tar.gz
  • 运行并查看输出
# 运行
./startup.sh >> myLog.txt
# 停止
./shutdown.sh > myLog.txt
# 查看输出
tail tomcat/logs/catalina.out
cat tomcat/logs/catalina.out

4、redis

  • 安装gcc依赖环境
yum install gcc-c++
  • 下载解压
# 下载redis
wget http://download.redis.io/releases/redis-3.0.4.tar.gz
# 解压
tar -xzvf redis-3.0.4.tar.gz
  • 编译安装
# 切换目录
cd redis-3.0.4
# 编译
make
# 安装
make PREFIX=/usr/local/redis install
  • 配置并启动
# 复制配置文件到/usr/local/redis/bin目录
cd redis-3.0.4
cp redis.conf /usr/local/redis/bin
# 目录下的文件
redis-server:Redis服务器端启动程序
redis-cli:Redis客户端操作工具。
redis-benchmark:Redis性能测试工具
redis-check-aof:数据修复工具
redis-check-dump:检查导出工具
# 启动redis服务端
cd redis/bin
./redis-server redis.conf
# 克隆新窗口,启动客户端
./redis-cli

三、部署web项目到Linux

1. 修改pom配置

在pom.xml中添加<finalName>并修改jdk版本为1.7

2. 修改项目

2.1 druid.properties设置编码

2.2 header.html

2.3 route_detail.html

3. 使用package命令打包

4. 将travel.war上传到tomcat中的webapps目录

5. 重启tomcat

6. 导出本地mysql数据(结构和数据),并导入linux中的mysql

四、Nginx的安装与启动

1、介绍

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

能够支支撑 5 万并发链接,cpu、内存等资源消耗非常低,运行非常稳定。

2、应用场景

  • http 服务器。Nginx 是一个 http 服务可以独立提供 http 服务。可以做网页静态服务器
  • 虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
  • 反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用 nginx 做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

3、安装

  • 安装gcc环境
  • 安装第三方开发包
# 安装PCRE(Perl库)
# 用来解析redis中http模块的正则表达式
yum install -y pcre pcre-devel
# 安装zlib
# 提供对http包的压缩和解压
yum install -y zlib zlib-devel
# 安装OpenSSL
# 套接字层密码库,支持http及https协议
yum install -y openssl openssl-devel
  • 上传解压
  • 创建Makefile文件(使用NotePad++的sftp连接22端口)
# 上传
mkdir /usr/local/nginx
rz
# 解压缩
tar zxvf nginx-1.8.0.tar.gz
# 创建MakeFile文件
cd nginx-1.8.0
./configure \
#文件内容
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi 
  • 编译及安装
# 编译
make
# 安装
make install
  • 启动与访问
# 创建临时文件对应的目录
mkdir /var/temp/nginx/client -p
# 进入启动目录sbin
cd /usr/local/ngiux/sbin
# 启动
./nginx
# 查看进程
ps aux|grep nginx
# 访问,地址栏输入ip即可(默认为80端口 )
192.168.30.128
  • 关闭、重启及刷新
# 关闭Nginx
./nginx -s stop
# 正常退出
./nginx -s quit
# 刷新
./nginx -s reload
# 重启Nginx
./nginx -s stop
./nginx
./nginx -s reload

五、Nginx的功能

1、静态网站部署

将/资料/静态页面/index目录下的所有内容 上传到服务器的/usr/local/nginx/html下即可访问

2、虚拟主机配置

把一台运行在互联网上的物理服务器划分成多个“虚拟”服务器

2.1 端口绑定

  • 上传静态网页到指定目录

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

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

  • 修改Nginx 的配置文件

 

# 修改
vim /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;
}
}
  • 访问测试

    • 地址栏输入http://192.168.177.129/:81 可以看到首页面

    • 地址栏输入http://192.168.177.129/:82 可以看到注册页面

2.2 域名绑定

  • 域名级别

    • 顶级域名

      • 国家~:cn、us、jp
      • 国际~:top、org、syz
    • 二级域名:baidu.com、edu.cn、gov.cn
    • 三级域名:apache.com.cn
  • 与ip的绑定(一个ip可被多个域名绑定)
# 修改hosts 文件(C:\Windows\System32\drivers\etc)
# 配置后不需要经过DNS服务器
192.168.177.129 www.hmtravel.com
192.168.177.129 regist.hmtravel.com
  • 修改Nginx配置文件
  • 刷新配置并测试
# 修改配置文件
vi nginx.conf
# 具体内容
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;
}
}
# 刷新配置
./nginx -s reload
# 测试
http://www.hmtravel.com/
http://regist.hmtravel.com/

3、反向代理

  • 概念:

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

  • 与正向代理的区别

正向代理是针对你的客户端,而反向代理是针对服务器的

  • 配置过程

    • 将travel案例部署到tomcat中(package为ROOT.war,变为ROOT目录),上传到服务器。

    • 启动TOMCAT,输入网址http://192.168.177.129:8080 可以看到网站首页

    • 在Nginx主机修改Nginx配置文件

upstream tomcat-travel{
server 192.168.177.129:8080;
}
server {
listen 80; # 监听的端口
server_name www.hmtravel.com; # 域名或ip
location / { # 访问路径配置
# root index;# 根目录
proxy_pass http://tomcat-travel;
index index.html index.htm; # 默认首页
}
} 
    • 重启并测试
# 刷新
./nginx -s reload
# 测试
http://www.hmtravel.com

4、负载均衡

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

  • 准备工作

    • 将刚才的存放工程的tomcat复制三份,修改端口分别为8080 ,8081,8082

    • 分别启动这三个tomcat服务

    • 在首页标题加上标记以便区分

  • 修改配置文件
  upstream tomcat-travel {
server 192.168.177.129:8080;
server 192.168.177.129:8081;
server 192.168.177.129:8082;
} server {
listen 80; # 监听的端口
server_name www.hmtravel.com; # 域名或ip
location / { # 访问路径配置
# root index;# 根目录
proxy_pass http://tomcat-travel; index index.html index.htm; # 默认首页
}
error_page 500 502 503 504 /50x.html; # 错误页面
location = /50x.html {
root html;
}
}
  • 根据不同服务器性能修改负载权重
  upstream tomcat-travel {
server 192.168.177.129:8080;
server 192.168.177.129:8081 weight=2;
server 192.168.177.129:8082;
}
  • 访问,输入http:// www.hmtravel.com

作者介绍:安徽大学软件工程硕士在读,Email为ljh.ahu@qq.com,QQ为782593062,有问题欢迎与我交流

Linux常用软件的安装及Nginx的使用的更多相关文章

  1. 3.linux常用软件的安装方法

    linux 上的软件不像windows上直接运行安装那么容易,在linux上有很多不同的安装包,大概常见的就有deb.tar.gz.tar.bz(tar.bz2).rpm等类型文件 1.deb文件安装 ...

  2. [转] ubuntu 一些常用软件的安装

    首先说明一下 ubuntu 的软件安装大概有几种方式: 1. deb 包的安装方式deb 是 debian 系 Linux 的包管理方式, ubuntu 是属于 debian 系的 Linux 发行版 ...

  3. Linux下软件常见安装方式

    pasting  分类: Linux2007-12-08 16:31 1909人阅读 评论(0) 收藏 举报 linuxredhat脚本文档managerfile        Linux下软件安装主 ...

  4. 笔记:Linux下软件的安装、CentOS更新yum源、LAMP环境搭建、kali软件管理

    一.Linux下软件的安装 方式:yum源 / rpm /源码安装 1.yum:(帮助管理员解决依赖关系) yum是通过分析rpm的包头数据后,根据各种软件的相关性质做出属性相对应的解决方案,然后可以 ...

  5. Linux 常用软件清单

    Linux 常用软件清单 下面是Linux环境的一些软件(有些只是关键字,直接搜素即可): arch 系列的是 pacman -Ss <关键字> debian 系列的是 apt searc ...

  6. CentOS6安装各种大数据软件 第三章:Linux基础软件的安装

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  7. Linux下软件的安装

    想必linux新手刚开始对于linux软件安装很茫然吧,不知到怎么安装,软件到底安装在哪里,如果我需要删除软件怎么删除,配置文件到哪里去找. 想学习linux的话,最快上手的应该是Ubuntu,它特有 ...

  8. linux 基础 软件的安装 *****

    一软件的安装   原代码与tarball 源代码---->编译------>可执行文件 查看文件类型   file命令    是否是二进制文件 注意如果文件的可执行权限 .c结尾的源文件- ...

  9. Linux 笔记 - 第九章 Linux 中软件的安装

    博客地址:http://www.moonxy.com 一.前言 在 Linux 系统中,应用程序的软件包主要分为两种:1)第一种是二进制的可执行软件包,也就是解开包后就可以直接运行.在 Windows ...

  10. linux 学习-软件的安装

    Linux软件的安装rpm -ivh安装软件全名 -i install 安装 -v verbose 显示详细信息 -h hash 显示进度 --nodeps 不检测依赖性(不推荐使用) rpm -U ...

随机推荐

  1. Spring 后置处理器【1】

    Spring 后置处理器[1] 简单介绍 一句话:bean 在初始化前或初始化后的瞬间,我自己添加一些业务逻辑 bean 后置处理器类的内容 简单代码 package com.hspedu.sprin ...

  2. Django 之必知必会三板斧

    一.HttpResponse 在django.http 模块中定义了HttpResponse 对象的API,HttpRequest 对象由Django 自动创建,不调用模板,直接返回数据. 1 在 a ...

  3. 学习完nio的一个小笔记吧

    这是一个nio网络通信服务端的demo,主要就学习了selector的一些用法,以及它里面的事件类型 selector是对nio的一个优化,它能保证既能高效处理线程中的事件,又能保证线程不会一直占用c ...

  4. 1.通俗易懂理解Kubernetes核心组件及原理

    文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247483736&idx=1&sn=0cbc3d6a ...

  5. Kubernetes(k8s)通过环境变量将 Pod 信息呈现给容器

    Downward API 有两种方式可以将 Pod 和 Container 字段呈现给运行中的容器: 环境变量 卷文件 这两种呈现 Pod 和 Container 字段的方式统称为 Downward ...

  6. 一文入门Qt Quick

    以下内容为本人的著作,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/p/16733091.html 初识Qt Quick 很高兴可以 ...

  7. 洛谷P1253 [yLOI2018] 扶苏的问题 (线段树)

    一道用来练习打标记的好题. 对于区间加和区间赋值两个操作分别用两个标记,分析如何打标记并下传标记(还是比较好分析的). 坑点:查询操作时,我一开始把ans设为-0x3f3f3f3f(调试了好久才发现) ...

  8. P1896 [SCOI2005] 互不侵犯 方法记录

    原题链接 [SCOI2005] 互不侵犯 题目描述 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子 ...

  9. 关于从Ecplise导入项目到MyEclipse会出现冲突的原因。

    昨天,从网上下了一个Eclipse的小项目导入到MyEclipse中,出现了许多错误. 原因如下. JDK的编译版本和JRE的运行版本不一致导致了这个问题. 在MyEclipse中,对项目进行Buil ...

  10. vue路由守卫用于登录验证权限拦截

    vue路由守卫用于登录验证权限拦截 vue路由守卫 - 全局(router.beforeEach((to, from, next) =>来判断登录和路由跳转状态) 主要方法: to:进入到哪个路 ...