美文网首页
Linux-Web应用环境部署

Linux-Web应用环境部署

作者: 醒醒Coco | 来源:发表于2018-08-21 22:08 被阅读0次

    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应用环境部署

          本文链接:https://www.haomeiwen.com/subject/haesiftx.html