美文网首页
记录下Linux下项目发布

记录下Linux下项目发布

作者: 突发妄想 | 来源:发表于2017-05-18 12:49 被阅读0次

    使用的vps是搬瓦工的,域名是goddy买的。

    1.登陆搬瓦工的控制台,安装操作系统为centos6

    2.首先下载SSH工具SXHell5远程连接服务器的公网IP,密码有搬瓦工提供,动态更新。

    3.Javaweb环境

    配置jdk1.8

    a.下载         

     wget --no-cookie --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.rpm -O jdk-8u102-linux-x64.rpm

    b.安装        

    rpm -ivh jdk-8u102-linux-x64.rpm


    配置tomcat7 通过Yum在CentOS 7上安装Apache Tomcat 7

    a.下载      

     yum install tomcat

    b.安装管理界面 ,以便默认Tomcat页面上的所有链接都可以正常运行

    yum install tomcat-docs-webapp tomcat-javadoc

    c.快速更改Tomcat在启动时使用的Java选项。打开Tomcat配置文件:

    sudo vi /usr/share/tomcat/conf/tomcat.conf

    以JAVA_OPTS下行添加到文件。随意更改Xmx和MaxPermSize值 - 这些设置会影响Tomcat将使用多少内存:

    JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom -Djava.awt.headless=true -Xmx512m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC"

    d.如果您希望Tomcat在每次启动服务器时运行,则需要启用服务:

    sudo systemctl enable tomcat

    e.重启tomcat/启动命令类似

    sudo systemctl restart tomcat


    安装MySQL数据库

    a.下载rpm包

    yum install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

    yum repolist enabled | grep "mysql.*-community.*"

    yum install mysql-community-server

    systemctl start mysqld

    b.登录MySQL服务,因为刚安装后的MySQL服务root用户密码为空

    mysql -u root

    update user set password("自定义密码") where User = 'root';

    flush privileges;

    停止MySQL服务

    service mysqld stop

    /etc/init.d/mysql stop

    MySQL配置文件位置  # /etc/my.cnf:

    删除Mysql

    yum remove  mysql mysql-server mysql-libs mysql-server;

    find / -name mysql 将找到的相关东西delete掉;

    rpm -qa|grep mysql(查询出来的东东yum remove掉)


    项目发布

    1.设置tomcat

    a.修改tomcat的web.xml文件,添加<users><users/>用户并设置密码。

    b.修改默认端口为80端口。

    c.上传war。方法有两种。

        c.1(简单)     登陆tomcat主页(主机地址xxx.xxx.xxx.xxx)选择manager管理页面,可以热部署新的项目,选择本地war上传即可部署成功。

        c.2(推荐)    首先Linux安装rz,sz工具   ** windows端需要支持ZModem的telnet/ssh客户端(xshell支持,好像putty不支持),SecureCRT就可以用SecureCRT登陆到Unix/Linux主机(telnet或ssh均可)**

                           c2.1  yum install lrzsz -y 

                          c2.2  rz(选择文件上传到Linux的当前目录,提前cd到tomcat的webapp目录)

    d.重启服务器即可启动成功。

    2.Linux设置

    # systemctl start firewalld 开启防火墙

    # firewall-cmd --zone=public --add-port=80/tcp --permanent  开启端口

    3.域名设置

    登陆goddy,进入域名管理界面。添加A记录为公网IP地址,等待几分钟,即可成功访问站点。


    其他

    常用Linux命令记录

    查看Linux系统主机名:hostname

    # netstat -lntp #查看监听(Listen)的端口

    # netstat -antp #查看所有建立的TCP连接

    # iptables -L #查看防火墙规则

    查看当前目录所有文件:ls -a

    创建文件夹:mkdir xxx.yy

    删除文件夹:rm -rf /var

    XShell Ctrl+q解锁命令行

    # top -n1 显示任务管理器信息(非常多)

    开启端口  # firewall-cmd --zone=public --add-port=80/tcp --permanent

    kill -n pid  关于MySQL5.6无法杀死进程问题

    其实就是unix系统给指定的pid的进程发送信号的一个过程.只是其中一个信号,程序执行阶段捕获到自己的信号就会做出响应的反应.当然程序也可以忽略一部分信号,“信号”是指那些被异步发送到一个程序的事件。默认情况下,它们通常会终止一个程序的运行。

    进程中的MySQL-safe会时刻检测MySQL是否运行,如果没有则会自动启动,所以kill MySQL会无效。正常命令关闭即可。

    free  查看可自由使用的剩余内存。

    分析CPU占用的方法和手段:

    top命令:可以查看实时的CPU使用情况。

    ps -ef命令:可以查看进程以及进程中线程的当前CPU使用情况以及属于当前状态的采样数据。

    jstack:Java提供的命令。可以查看某个进程的当前 线程栈运行情况。根据这个命令的输出可以定位某个进程的所有线程的当前运行状态、运行代码,以及是否死锁等等。

    pstack:Linux命令。可以查看某个进程的当前线程栈运行情况


    未解决问题

    MySQL内存占用居高不下,启动就占了400m+

    修改my.cnf设置为以下几乎无效,并没有达到网上说的几十M的地步,仍待研究。

    performance_schema=OFF

    key_buffer_size=16M

    query_cache_size=16M

    tmp_table_size = 16M

    innodb_buffer_pool_size  = 8M

    innodb_additional_mem_pool_size = 1M

    相关文章

      网友评论

          本文标题:记录下Linux下项目发布

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