主要内容:

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

一、Linux软件安装

1、目录结构

linux nginx 不可以运行多个 linux nginx使用_nginx

  • ~表示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

 

linux nginx 不可以运行多个 linux nginx使用_服务器_02

2. 修改项目

2.1 druid.properties设置编码

 

linux nginx 不可以运行多个 linux nginx使用_nginx_03

2.2 header.html

 

linux nginx 不可以运行多个 linux nginx使用_linux_04

2.3 route_detail.html

 

linux nginx 不可以运行多个 linux nginx使用_linux nginx 不可以运行多个_05

3. 使用package命令打包

 

linux nginx 不可以运行多个 linux nginx使用_服务器_06

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下即可访问 




linux nginx 不可以运行多个 linux nginx使用_运维_07


 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上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
  • 与正向代理的区别

 

linux nginx 不可以运行多个 linux nginx使用_服务器_08

linux nginx 不可以运行多个 linux nginx使用_linux nginx 不可以运行多个_09

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

 

linux nginx 不可以运行多个 linux nginx使用_运维_10

  • 将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


linux nginx 不可以运行多个 linux nginx使用_nginx_11

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

作者介绍:安徽大学软件工程硕士在读