用阿里云服务器发布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新建普通用户  并给sudo权限

adduser fly    //新建fly用户
passwd fly     //给fly用户设置密码
      
su root权限下 将sudo 添加fly用户        (正常情况下我们是普通用户登陆,需要修改系统配置,我们就用sudo 执行命令)
vi /etc/sudoers
在root ALL=(ALL) ALL 下加一行
fly ALL=(ALL) ALL      :wq!强制保存
     exit  到普通登陆

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

0.2 修改主机名

sudo vi /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=flyjava 
              (你们可以随意起)

立即生效 sudo hostname flyjava

0.3配置非图形界面启动  (如果装图形的话可以参考)

sudo vi /etc/inittab 
改成id:3:initdefault:

0.4修改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

1准备Linux环境

1.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=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
保存退出
source /etc/profile  使更改的配置立即生效

1.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 tar -xvf xxx.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

1.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

测试:这时候可以测试,如果成功了,我们需要修改端口,发布项目

修改为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默认目录 (这样输入网站直接进入我们的项目文件下)

找到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。


2.发布项目

a.数据库和表

备份MYSQL数据库

1.在windows下mysql中 将数据库的数据输出到G盘写的1.sql

mysqldump -uroot -p1234 store > g:/1.sql

2.将1.sql上传 linux系统root目录下

3.通过远程工具还原数据库

先登录mysql
创建数据库 store
进入store
source /root/1.sql

b.如果是javaWeb项目,可以打包

将项目打包 war
war包的特点:
在tomcat/webapps目录下 只要tomcat启动 war会自动解压
将store.war上传到虚拟机的root目录下
将store.war移动到tomcat/webapps下即可
备注:我这次是html项目可以直接上传到tomcat/webapps/520yuan/目录下.我之前设置了这个目录为tomcat默认启动目录
所以我们直接访问网站520yuan.cn 成功!

3.nginx( 在虚拟机实现方法 注意nginx默认端口是80.咱们之前tomcat就不能改为80了)

在linux搭建集群

1.先将 nginx上传到linux上   mkdir /usr/local/nginx  文件复制到此文件夹下

2.解压nginx

扩展 .zip 用 unzip 解压 没有unzip 就安装  yum install -y unzip zip
.war  用jar -xvf  解压

3.先编译nginx

安装依赖包(如果yum失败,检查IP设置,ping www.baidu.com 失败就是访问不了外网 可以参照我上面的IP设置,保证能访问外网)

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.1.session共享问题

解决方式1:只能在window下好使

web服务器解决(广播机制)
注意:tomcat下性能低
修改两个地方:
1.修改tomcat的server.xml 支持共享
将 引擎标签下的 
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
注释去掉
2.修改项目的配置文件 web.xml中添加一个节点
<distributable/>

解决方式2:

可以将session的id放入redis中

解决方式3:在linux

保证一个ip地址永远的访问一台web服务器,就不存在session共享问题了,
在nginx的配置文件中
upstream中添加 ip_hash;

7.2 修改conf文件 和window下一样

配置集群(不能设置session共享)
1.对每个tomcat的端口进行设置(server.xml)
2.需要在http节点上添加一个 (server上面即可)
upstream servlet_yuanyuan{
server 127.0.0.1:8090; //这里写其他服务器的ip,咱们这次是本机测试
server 127.0.0.1:8100;
ip_hash; //保证一个ip地址永远的访问一台web服务器,就不存在session共享问题了
}
修改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/ 我这个在虚拟机上面实现的






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值