天天看点

【javaWeb】第54天——项目部署(nginx)

回顾:

linux:

操作系统,应用服务器上

常用命令:

cd 切换命令

cd /

cd ~

cd ../../

cd xx

ll 展示所有的文件

ll -h 友好的展示

mkdir 创建目录

mkdir 目录名

mkdir -p a/b/b/b

rmdir 移除目录

rmdir 目录名 :移除空目录

touch 文件名:创建一个空文件
    cp 文件名 目录/文件名:复制
    mv 文件名 目录/文件名:移动
    mv 文件名 新文件名:重命名

    rm 文件名:带询问的删除文件
    rm -f 文件名:不带询问的删除文件
    rm -rf 目录|文件:不带询问的递归文件

    tar: 打包|解压一个目录或者文件
        tar -cvf 文件名 目录:将指定的目录打包成一个指定的文件
        tar -zcvf 文件名 目录:将指定的目录打包并且压缩成一个指定的文件

        tar -xvf 文件名 :将指定的文件解压到当前目录
        tar -xvf 文件名 -C 目录:将指定的文件解压到指定的目录

    grep 查找
    |    管道

    ps -ef | grep java
    netstate -an | grep 3306

    kill -9 pid :强制结束一个进程

    ifconfig:查看当前网卡信息
    ping:查看网络是否通畅

    chmod 777 文件名
    chown 更改文件的归属者      

/

任务1:在linux发布网上商城案例

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=

J

A

V

A

H

O

M

E

/

l

i

b

.

t

o

o

l

s

.

j

a

r

P

A

T

H

=

JAVA_HOME/bin:$PATH

export JAVA_HOME CLASSPATH PATH

保存退出

source /etc/profile 使更改的配置立即生效

2.安装mysql

a.检测是否安装了mysql

rpm -qa | grep mysql

b.卸载系统自带的mysql

rpm -e –nodeps 卸载的包

rpm -e –nodeps mysql-libs-5.1.71-1.el6.i686

c.上传mysql

d.在 /usr/local/ 创建一个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

停止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下即可      

///

///

nginx:

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器

特点:

反向代理 负载均衡 动静分离…

反向代理 :

先来了解正向代理:需要我们用户,手动的设置代理服务器的ip和端口号

反向代理:代理服务器的,用户不需要设置.

负载均衡:
    原理就是数据流量分摊到多个服务器上执行,减轻每台服务器的压力,
    多台服务器共同完成工作任务,从而提高了数据的吞吐量。
动静分离:
    将静态的资源放到反向服务器,节省用户的访问时间.      
解决方式2:
        可以将session的id放入redis中
    解决方式3:
        保证一个ip地址永远的访问一台web服务器,就不存在session共享问题了,在linux
        在nginx的配置文件中
            upstream中添加 ip_hash;      
4.安装nginx
    执行 
        make
        make install
5.启动nginx
    cd nginx目录下
        配置文件 conf
        启动nginx 
            ./nginx 
6.将端口号80 放行
    /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
    将该设置添加到防火墙的规则中
    /etc/rc.d/init.d/iptables save
7.修改conf文件 和window下一样
    配置集群