美文网首页
阿里云ubuntu服务器怎么部署java项目呢

阿里云ubuntu服务器怎么部署java项目呢

作者: Fxymine4ever | 来源:发表于2018-10-05 19:33 被阅读0次

    ubuntu16.04配置mysql+jdk+tomcat+ftp+nginx部署idea的java web项目

    学长们说:后端可以不懂安卓,但是安卓一定要懂后端。秉承着这样的心态,最近我学习了一下python,爬了一份数据,通过java web的servlet并且自己制作了一个查询xx信息的接口。但是想一步到位,想把java web项目直接部署到服务器上。网上参差不齐的教程坑死我了,于是我就打算记录自己配置的过程,方便以后查看。


    Mysql安装

    1.更新软件源

    apt-get update
    

    2.安装

    apt-get install mysql-server
    执行中会要求你初始化mysql的登陆密码
    
    apt-get install mysql-client
    
    apt-get install libmysqlclient-dev
    

    3.查看是否安装成功

    netstat -tap | grep mysql 
    

    4.开启远程访问

    vim /etc/mysql/mysql.conf.d/mysqld.cnf
    注释掉 bind-address = 127.0.0.1
    

    5.在阿里云安全组内开启3306端口入口

    image image image

    6.最后

    开启服务

    service mysql start
    

    登陆mysql

    mysql -uroot -p
    

    JDK安装

    1. 下载jdk

    wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"
    

    2. 创建安装目录

     mkdir /usr/local/jdk
    

    3. 解压

    tar -zxvf jdk-8u141-linux-x64.tar.gz -C /usr/local/jdk 
    

    4. 设置环境变量

    vi /etc/profile
    

    在文件尾添加:

    set java environment
    JAVA_HOME=/usr/local/jdk/jdk1.8.0_141        
    JRE_HOME=/usr/local/jdk1.8.0_141/jre     
    CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    export JAVA_HOME JRE_HOME CLASS_PATH PATH
    

    然后保存退出

    注意:JAVA_HOME与JRE_HOME根据你所下载的jdk版本和位置配置
    

    5.是否安装成功

     java -version
    
    image

    显示版本号则证明安装成功


    Tomcat安装

    1.下载文件

    wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" https://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.5.34/bin/apache-tomcat-8.5.34.tar.gz
    

    2.创建安装目录

    mkdir /usr/local/tomcat
    

    3.解压

    tar -zxvf apache-tomcat-8.5.34.tar.gz -C /usr/local/tomcat/
    

    4.启动tomcat

    打开

    cd /usr/local/tomcat/apache-tomcat-8.5.34/bin
    

    启动

    ./startup.sh
    

    访问8080端口 看见tomcat的页面 则表示tomcat配置成功

    我们可以通过mv命令修改文件夹名称,方便日后使用。(注意哪些地方使用到了这些个地址,不然超级坑!)


    image

    vsftpd安装

    1.安装

    sudo apt-get install vsftpd
    

    2.运行

    启动ftpd服务
    sudo service vsftpd start
    
    停止ftpd服务
    sudo service vsftpd stop
    
    
    重启ftpd服务
    sudo service vsftpd restart
    
    查看21号端口是否打开
    sudo netstat -npltu | grep 21
    
    image
    查看当前ftpd运行状态
    sudo service vsftpd status
    

    3./etc/vsftpd.conf 相关配置

    # 设置为YES时vsftpd以独立运行方式启动,设置为NO时以xinetd方式启动
    #(xinetd是管理守护进程的,将服务集中管理,可以减少大量服务的资源消耗)
    listen=YES
    
    # ipv6网络
    listen_ipv6=YES
    
    # 匿名用户访问
    anonymous_enable=NO
    
    # 本地用户访问
    local_enable=YES
    
    # 本地用户是否允许上传
    write_enable=YES
    
    # 本地用户上传文件的权限掩码
    local_umask=022
    
    # 匿名用户上传文件
    #anon_upload_enable=YES
    
    # 匿名用户创建目录
    #anon_mkdir_write_enable=YES
    
    # 用户进入目录时是否显示message_file指定的文件内容
    #dirmessage_enable=YES
    
    # 强制ftp数据传输使用20端口
    connect_from_port_20=YES
    
    # 登陆后显示的信息
    ftpd_banner=Horizon FTP.
    
    # 如果禁止所有用户访问上级目录,即chroot_local_user=YES,则该项需配置为YES
    # 如果没有配置该项,则要求ftp根目录权限不可写,否则登录时报:500 OOPS错误
    # vsftp2.3.5之后版本,该配置项需要手动添加
    allow_writeable_chroot=YES
    
    # 和前面同名配置项一样
    chroot_local_user=YES
    
    # 设置chroot_list_file是否有效
    chroot_list_enable=YES
    
    # 当chroot_list_enable=YES时,该文件生效,该文件需要手动添加,存放用户列表
    # 如果所有用户被限制只能访问家目录,禁止访问上级目录(即chroot_local_user=YES)
    # 那么该文件内的用户为特权用户,可以不被限制地访问家目录之上的目录
    # 反之,如果所有用户都不被限制,都可以访问上级目录,即(chroot_local_user=NO)
    # 则该文件内部的用户为被限制的用户,只能访问各自家目录,禁止访问上级目录
    chroot_list_file=/etc/vsftpd.chroot_list
    
    # 设置vsftpd使用utf8编码的文件系统
    utf8_filesystem=YES
    

    4.如果要用root登陆

    vim /etc/ftpusers
    

    该文件内的用户一律禁止ftp连接,所以去除掉root字段就可以用root登陆ftp了。

    5.下载Filezilla

    这是一个可视化连接ftp的软件,操作十分方便。

    登陆Filezilla
    image
    登陆成功

    当你看见这个画面时,你就可以愉快的往服务器上上传文件啦~


    image

    参考博客:https://blog.csdn.net/oaix101125/article/details/74454826


    idea打war包

    点击右上角的图标

    image

    新建artifacts

    Artifacts-加号-Web Application:Archive-Empty


    image

    填写信息

    image image

    打包

    Build->Build Artifacts
    选择刚刚新建的artifact

    编译完成后,即可在输出目录下看到该war包。

    image

    部署war到服务器上

    1.上传文件

    使用FileZilla上传到目录
    image

    若遇见这样的问题


    image

    选择站点管理,更改协议再次登陆。传输文件成功!


    image
    拷贝war包

    使用cp或mv将该文件拷贝或移动到tomcat/webapps文件夹中。

    image

    再重启tomcat 就部署好了.


    导入本地mysql数据库

    1.将数据库导出为.sql文件

    这里我使用的是Sequel pro,一个方便快捷的可视化管理软件。

    2.将.sql文件上传至服务器

    如上传war包步骤一样

    3.登陆mysql 执行sql文件

    登陆
    mysql -uroot -p
    
    执行sql文件

    ps:这里有个很坑的地方是你需要先新建好sql文件中的数据库,再切换过去才能执行。否则报错。

    没有我们要导入的数据库


    image

    创建数据库 create database students;

    mysql> create database students;
    Query OK, 1 row affected (0.00 sec)
    

    切换数据库 use students

    mysql> use students
    Database changed
    

    执行sql source /root/students.sql

    mysql> source /root/students.sql
    

    这样就成功地导入了本地mysql的数据库(注意本地mysql与远程mysql的密码是否一致,否则可能远程会连不上数据库)


    nginx反代80端口到8080

    1.安装nginx

    sudo apt-get update
    sudo apt-get install nginx
    

    2.修改nginx.conf

    在http{
        #里面添加如下配置
        server {
                    listen   80 default_server; #监听80端口
                    server_name 127.0.0.1; #转发的服务器地址
    
                    location / {
                            proxy_pass http://127.0.0.1:8080; #代理的地址
                            proxy_set_header Host $host:80;
                            proxy_set_header X-Real-IP $remote_addr;
                            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                            proxy_set_header Via "nginx";
                    }
            }
    }
    

    3.重启

    nginx -s reload
    

    4.验证

    当你访问80端口时显示tomcat的页面,则反代成功。

    5.其他

    卸载nginx

        sudo apt-get remove nginx nginx-common # 卸载删除除了配置文件以外的所有文件。
    
        sudo apt-get purge nginx nginx-common # 卸载所有东西,包括删除配置文件。
    
        sudo apt-get autoremove # 在上面命令结束后执行,主要是卸载删除不再被使用的依赖包。
    
        sudo apt-get remove nginx-full nginx-common #卸载删除nginx两个主要的包。
    

    若apt-get安装失败,出现这样的问题,则是80端口被占用,需要杀掉该占用该端口的进程再重新安装。

    Errors were encountered while processing:
     nginx-core
     nginx
    E: Sub-process /usr/bin/dpkg returned an error code (1)
    
    sudo netstat -nlp #查看应用占用端口的情况
    
    sudo kill -9 [占用80的应用的PID] #kill进程
    

    相关文章

      网友评论

          本文标题:阿里云ubuntu服务器怎么部署java项目呢

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