Linux-Web应用环境部署

Linux运行环境

一、安装软件
JDK运行环境
数据库MySql/Oracle
缓存数据库Redis
服务器软件Tomcat/WebLogic/WebSphere

之前已安装,详请见上篇
二、Linux的主机名
查看主机名 hostname

修改主机名(临时) hostname duanxx

通过配置文件修改(永久) vim etc/sysconfig/network
[root@duanxx ~]# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=duanxx

主机名解析

测试: ping duanxx
[root@coco ~]# ping duanxx
ping: unknown host duanxx

因为 127.0.0.1 和 主机名没有关联

修改配置文件 vim /etc/hosts
在最末行增加 127.0.0.1 新主机名

[root@coco ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 duanxx

Web应用中,路径的配置

web应用中很多地方要配置一些路径/主机信息,例如:c3p0连接数据库,要配置数据库的地址;使用redis缓存,要正确配置Redis的地址;发送激活邮件时,邮件里的激活地址要正确配置。

  • 数据库与的地址配置是否正确

    检查c3p0-config.xml中,数据库的地址、用户名、密码配置是否正确

  • 检查Redis地址配置是否正确

    检查jedis.properties中,Redis的地址配置是否正确

  • 其他地址的配置

    • 代码中发送邮件激活的地址

      http://localhost:8080/travel/user?action=active&code=
      
      动态获取服务器Tomcat的IP地址和端口: (不断部署到那台服务器,都可以动态获取)
      String serverName = request.getServerName();
      int serverPort = request.getServerPort();
      ServletContext servletContext = request.getServletContext();
      
      String url = "http://" + serverName + ":" + serverPort + "/" + servletContext + "/user?action=active&code=" + user.getCode();       
      
      //涉及的API
      request.getServerName():获取当前服务器的主机名/ip地址
      request.getServerPort():获取当前服务器的端口
      request.getContextPath():获取当前web应用的context path
      

三、上传部署Web应用

把web应用打包成wer包
使用Maven的package命令,把应用程序打包成war包。步骤:
1.打开cmd命令窗口,切换到Maven项目travel文件夹里
2.执行Maven命令:mvn package    把travel项目打包成war包
上传war包Linux
1.使用xftp连接上Linux服务器
2.把war包上传到tomcat/webapps目录下
/usr/local/apache-tomcat-8.5.27/webapps

四、启动服务器软件

启动并初始化数据库

使用SQLyog连接Linux里的MySql数据库,并执行数据库脚本,初始化MySql数据库

启动Redis缓存
使用xshell连接Linux,启动Redis
切换到redis目录:cd /usr/local/redis/bin
启动redis服务: ./redis-server redis.conf
启动Tomcat软件
使用xshell连接Linux,启动Tomcat
切换到tomcat目录:cd /usr/local/apache-tomcat-8.5.27/bin
启动Tomcat:      ./startup.sh
使用nginx反向代理
使用 xshell 连接 Linux,配置并启动nginx
切换到 nginx 目录:cd /usr/local/nginx/conf
使用 vim 打开并修改 nginx.conf,配置服务器池

upstream demoServers{
    server 127.0.0.1:8080;
}

server {
        listen       80;:
        server_name  localhost;

        location / {
            #root   html;
            index  index.html index.htm;
            proxy_pass http://demoServers;
        }

启动nginx:
cd /usr/local/nginx/sbin
./nginx

五、访问并测试功能

访问Linux上的项目:

没有使用nginx代理,直接使用Tomcat的ip和端口来访问travel项目
输入网址:http://Linux的ip:8080/项目名

使用nginx代理了服务器软件,就需要使用Nginx的代理地址ip和端口来访问travel项目。
输入地址:http://Linux的ip:80/项目名 (Nginx默认使用80端口)

六、出现的问题

[root@duanxx sbin]# ./nginx
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
地址已被使用

查看端口:
[root@duanxx sbin]# netstat -anpl | grep ":80" --color
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      21606/nginx         
tcp        0      0 ::ffff:127.0.0.1:8005       :::*                        LISTEN      5637/java           
tcp        0      0 :::8009                     :::*                        LISTEN      5637/java           
tcp        0      0 :::8080                     :::*                        LISTEN      5637/java 

kill掉21606

你可能感兴趣的:(Linux-Web应用环境部署)