用阿里云服务器发布web网站 centos6.8+tomcat7

之前用的都是window 2008 +IIS 发布ASP.NET 网站.最近学习JAVA.想用Linux + tomcat (Nginx以后加上),发布静态网站
系统:centos 6.8
Tomcat: apache-tomcat-7.0.52.tar
JDK: jdk-7u72-linux-i586
MYSQL: MySQL-5.5.49-1.linux2.6.i386.rpm-bundle
Nginx: nginx-1.8.0.tar
连接linux系统的工具是: SecureCRT
文件上传工具是 : FileZilla
连接MySQl数据库是: SQLyog
如果需要以上软件,可以留言给我.

0.准备

0.1 新建普通用户:
    adduser fly    //新建fly用户
    passwd fly     //给fly用户设置密码 密码是flyjava
    su root权限下 将sudo 添加fly用户
    vi /etc/sudoers
    在root ALL=(ALL) ALL 下加一行
        fly ALL=(ALL) ALL      :wq!强制保存

注意:
普通用户切换到root用户: su->回车->输入root密码                                
root用户切换到普通用户: su    "普通用户名"   exit也可以

0.2 配置非图形界面启动(如果装图形的话可以参考)
    sudo vi /etc/inittab 
        改成id:3:initdefault:

1.准备Linux环境(如果是虚拟机运行环境可以参考,如果是阿里云服务器,直接跳过 )
1.0点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet8 host-only ->修改subnet ip 设置网段:192.168.2.0 子网掩码:255.255.255.0 -> apply -> ok

    回到windows --> 打开网络和共享中心 -> 更改适配器设置 -> 右键VMnet8 -> 属性 -> 双击IPv4 -> 设置windows的IP:192.168.2.101 子网掩码:255.255.255.0 网关192.168.2.1 -> 点击确定
    在虚拟软件上 --My Computer -> 选中虚拟机 -> 右键 -> settings -> network adapter -> host only -> ok   
1.1修改主机名
    sudo vi /etc/sysconfig/network

    NETWORKING=yes
    HOSTNAME=flyjava   ###

    立即生效 sudo hostname flyjava
1.2修改IP
    三种方式:
    第一种:通过Linux图形界面进行修改
        进入Linux图形界面 -> 右键点击右上方的两个小电脑 -> 点击Edit connections -> 选中当前网络System eth0 -> 点击edit按钮 -> 选择IPv4 -> method选择为manual -> 点击add按钮 -> 添加IP:192.168.2.100 子网掩码:255.255.255.0 网关:192.168.2.1  DNS:8.8.8.8 -> apply
    第二种: setup 图形界面设置

    第三种:修改配置文件方式(推荐)
        sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
        注意:
                       BROADCAST 的IP值要和VMNET8中的ip保持一致且最后一位必须为255
                       IPADDR的IP值要和VMNET8中的ip保持一致且最后一位必须为1~255的任意值
                       GETWAY的IP值要和VMNET8中的ip保持一致且最后一位为2
        更新配置  service network restart
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:0c:29:dd:90:63
IPV6INIT=no
IPV6_AUTOCONF=no
NETWORK=192.168.2.0
BROADCAST=192.168.2.255
IPADDR=192.168.2.110
NETMASK=255.255.255.0
GETWAY=192.168.2.2
DNS1=8.8.8.8
DNS2=8.8.4.4
ONBOOT=yes
BOOTPROTO=none

TYPE=Ethernet
USERCTL=no
NAME=eth0

2.Linux web环境

1.安装jdk
a.检测是否安装了jdk 运行java -version
b.若有需要将其卸载
c.查看安装那些jdk
rpm -qa | grep java
d.卸载
先卸载 openjdk 1.7
rpm -e –nodeps 卸载的包
rpm -e –nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.i686
再卸载 openjdk 1.6
rpm -e –nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.i686
e.安装jdk
上传jdk 通过ftp软件上传(上传到root目录下)
在 /usr/local创建一个 java目录
mkdir java
将上传的jdk复制到 java目录下
cp /root/jdk.xxxxx.tar /usr/local/java
将其解压
tar -xvf jdk.xxx.tar
f.安装依赖
yum install glibc.i686
g.配置环境变量
编辑 vi /etc/profile
在文件最后添加一下信息
#set java environment
JAVA_HOME=/usr/local/java/jdk1.7.0_72
CLASSPATH=.: JAVAHOME/lib.tools.jarPATH= JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
保存退出
source /etc/profile 使更改的配置立即生效
2.安装mysql
a.检测是否安装了mysql
rpm -qa | grep -i mysql
-i 作用是不区分大小写
b.卸载系统自带的mysql
rpm -e –nodeps 卸载的包
rpm -e –nodeps mysql-libs-5.1.71-1.el6.i686

    rpm -e MySQL-client-5.5.49-1.linux2.6.i386
    rpm -e MySQL-server-5.5.49-1.linux2.6.i386
c.上传mysql
d.在 /usr/local/ 创建一个mysql      mkdir mysql
e.复制mysql 到 mysql目录下
f.解压 tar
    会有几个rpm文件
g.安装
    安装mysql的服务器端
        rpm -ivh MySQL-server-5.5.49-1.linux2.6.i386.rpm
        注意:第一次登录mysql的时候没有不需要密码的 以后都需要
    安装mysql的客户端
        rpm -ivh MySQL-client-5.5.49-1.linux2.6.i386.rpm
h.查看mysql的服务状态
    service mysql status 
  启动 mysql
    service mysql start
    启动失败原因及处理结果:ps -ef|grep mysqld ,居然发现服务器里有一个僵尸进程mysqld,启动kill -9 进程号  然后重新启动mysql,一切恢复正常。
  停止mysql
    service mysql stop

i.修改mysql的root的密码
    登录:mysql -uroot
    修改密码:
        use mysql;
        update user set password = password('1234') where user = 'root';
        flush privileges;# 刷新
j.开启远程访问
    grant all privileges on *.* to 'root' @'%' identified by '1234';
    flush privileges;
k.开启防火墙端口 3306 退出mysql
    3306端口放行 
    /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
    将该设置添加到防火墙的规则中
    /etc/rc.d/init.d/iptables save
l:设置mysql的服务随着系统的启动而启动
    加入到系统服务:
    chkconfig --add mysql
    自动启动:
    chkconfig mysql on

3.安装tomcat
a.在/usr/local/ 创建tomcat目录
b.复制tomcat 到 /usr/local/tomcat
c.解压tomcat
d.启动tomcat 进入 bin
方式1:
sh startup.sh
方式2:
./startup.sh
e.开启端口号 8080
8080端口放行
/sbin/iptables -I INPUT -p tcp –dport 8080 -j ACCEPT
将该设置添加到防火墙的规则中
/etc/rc.d/init.d/iptables save

注意:
    查看日志文件
        tail -f logs/catalina.out
    退出 ctrl+c

4.发布项目
a.数据库和表
备份store28的数据库
在windows下
mysqldump -uroot -p1234 store28 > g:/1.sql
将1.sql上传 root目录
通过远程工具还原数据库
先登录mysql
创建数据库 store28
进入store28
source /root/1.sql

b.项目
    将项目打包 war
    war包的特点:
        在tomcat/webapps目录下 只要tomcat启动 war会自动解压
    将store.war上传到虚拟机的root目录下
    将store.war移动到tomcat/webapps下即可

扩展:

    zip文件解压   如果解压失败,就安装  yum install -y unzip zip
               unzip test.zip

    修改为80端口 (重启Tomcat ./shutdown.sh)
        vi server.xml 

    开启端口号 80
        /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
        /etc/rc.d/init.d/iptables save

//
修改tomcat默认目录

        1.tomcat原来的默认根目录是http://localhost:8080,如果想修改访问的根目录,可以这样:
        找到tomcat的server.xml(在conf目录下),找到:
        复制代码 代码如下:
        <Host name="localhost" appBase="webapps"
               unpackWARs="true" autoDeploy="true"
               xmlValidation="false" xmlNamespaceAware="false"></Host>

        在</Host>前插入:
        复制代码 代码如下:
        <Context path="" docBase="/usr/local/tomcat/apache-tomcat-7.0.52/webapps/520yuan/" debug="0"/>
        其中/usr/local/tomcat/apache-tomcat-7.0.52/webapps/520yuan/就是我想设置的网站根目录,然后重启tomcat。

        再次访问http://localhost:8080时,就是直接访问/usr/local/tomcat/apache-tomcat-7.0.52/webapps/520yuan/目录下的文件了。

///
///
nginx:
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器
特点:
反向代理 负载均衡 动静分离…
反向代理 :
先来了解正向代理:需要我们用户,手动的设置代理服务器的ip和端口号
反向代理:代理服务器的,用户不需要设置.

负载均衡:
    原理就是数据流量分摊到多个服务器上执行,减轻每台服务器的压力,
    多台服务器共同完成工作任务,从而提高了数据的吞吐量。
动静分离:
    将静态的资源放到反向服务器,节省用户的访问时间.

///
用nginx在window上搭建一个集群
1.在g盘新建两个目录 tomcat1 tomcat2
1.2配置tomcat1 tomcat2环境变量
新增变量 CATALINA_HOME1 值g:\tomcat1 CATALINA_HOME2 值g:\tomcat2
修改path: %CATALINA_HOME1%\bin; %CATALINA_HOME2%\bin;
2.修改tomcat2的端口 在tomcat1的端口上+10
3.解压nginx
修改nginx的 nginx.conf文件
在locatioin / 下添加了反向代理
proxy_pass 代理服务器
这是只是代理一台服务器
4.代理集群
需要在http节点上添加一个
upstream servlet_yujia{
server 127.0.0.1:8090;
server 127.0.0.1:8100;
}
修改location /下的反向代理
proxy_pass http://servlet_yujia
5.session共享问题
解决方式1:只能在window下好使
web服务器解决(广播机制)
注意:tomcat下性能低
修改两个地方:
1.修改tomcat的server.xml 支持共享
将 引擎标签下的

注释去掉
2.修改项目的配置文件 web.xml中添加一个节点

    解决方式2:
        可以将session的id放入redis中
    解决方式3:在linux
        保证一个ip地址永远的访问一台web服务器,就不存在session共享问题了,
        在nginx的配置文件中
            upstream中添加 ip_hash;


在linux搭建集群
1.先将 nginx上传到linux上 mkdir /usr/local/nginx 文件复制到此文件夹下
2.解压nginx
.zip 用 unzip 解压
.war 用jar -xvf 解压
3.先编译nginx
安装依赖包(如果yum失败,检查IP设置,ping www.baidu.com 失败就是访问不了外网)
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
执行编译
先进入 nginx的目录
执行
./configure

4.安装nginx            
    执行 
        make
        make install
5.启动nginx
    cd nginx目录下
        配置文件 conf
        启动nginx  
            sbin目录下 ./nginx 
        关闭命令:相当于找到nginx进程kill。
        ./nginx -s stop

        退出命令:
        ./nginx -s quit

6.将端口号80 放行
    /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
    将该设置添加到防火墙的规则中
    /etc/rc.d/init.d/iptables save
7.修改conf文件 和window下一样
    配置集群(不能设置session共享)
        1.对每个tomcat的端口进行设置(server.xml)
        2.需要在http节点上添加一个 (server上面即可)
        upstream servlet_yuanyuan{
            server 127.0.0.1:8090;
            server 127.0.0.1:8100;
            ip_hash;
        }
    修改location /下的反向代理 
        proxy_pass http://servlet_yuanyuan
    重新加载nginx (sbin目录下)
        ./nginx -s reload
8.启动tomcat (注意目录)
     ./tomcat1/apache-tomcat-7.0.52/bin/startup.sh 
     ./tomcat2/apache-tomcat-7.0.52/bin/startup.sh

访问:192.168.2.110/demo/
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值