www.hj8828.com 7

【www.hj8828.com】linux服务器项目部署【完整版】

首次在远程主机中部署WEB应用,首次主机部署web

1,jdk配置

   
之前总玩v8虚拟机,最近看到腾讯云学生套餐很实惠就租了个linux服务器搭一个项目,做下这个项目部署全记录,即为了方便以后查看,同时也分享下自己的经验,不足之处还请多多指教,废话不多说,直接开始!!!

首次在远程主机中部署WEB应用:

​ 1. 打开shell,并且保证能与remote host连接成功;

由于jdk官网的链接不直接支持wget,可以使用下面的方法下载jdk,其中jdk版本为jdk1.8.0_91:

   
注:因为我租的腾讯云ContOS6.5服务器,没有图形化界面,只有命令窗口,所以全程使用linux命令操作,我用的是Xshell做代理直接在windows下访问linux服务器,腾讯云推荐的Putty远程连接工具个人感觉不太好用,至于Xshell如何远程连接服务器,这里暂时不做赘述,不是太难,有兴趣的可以直接留言,博主会随时回复!

安装jdk;

​ 注:如果要安装1.8的jdk,那么需要自己在官网下载sudo apt-get install
default-jre这个命令最新是1.7的;

复制代码 代码如下:

一、Windows下安装包上传至服务器

1. 打开终端,使用下面的命令:
java -version

如果你看到像下面的输出,这就意味着你并没有安装过Java:

The program ‘java’ can be found in the following packages:
*default-jre
* gcj-4.6-jre-headless
* openjdk-6-jre-headless
* gcj-4.5-jre-headless
* openjdk-7-jre-headless
Try: sudo apt-get install

wget –no-check-certificate –no-cookies –header “Cookie:
oraclelicense=accept-securebackup-cookie”

   
博主在服务器下安装jdk8和tomcat7.0都是直接使用.tar.gz后缀的安装包解压安装的,没有在线安装,所以首先下载windows上传至linux文件小工具

2.
安装jre
    打开终端,使用下面的命令安装JRE :
    sudo apt-get install default-jre
安装OpenJDK
在Ubuntu和Linux Mint上安装OpenJDK

在终端,使用下面的命令安装OpenJDK Java开发工具包:
    sudo apt-get install default-jdk
特殊地, 如果你想要安装Java 8, Java 7或者Java 6等等,你可以使用openjdk-7-jdk/openjdk-6jdk, 但是记住在 此之前安装openjdk-7-jre/openjdk-6-jre

对于其他版本jdk,也可采用此方法,具体方法为:在找到对应的jdk版本,点击同意下载,右键复制对应的下载链接,把上面../8u91-b14/….的部分替换即可。

    (1)使用命令 yum install -y lrzsz
在线安装上传小工具,安装成功后使用rz命令弹出框代表安装成功;

3.通过以上步骤,JDK已安装完成。
通过以上步骤,JDK已安装完成。
输入以下命令验证java -version, 如下(表示安装成功了):
    java version "1.7.0_121"
    OpenJDK Runtime Environment (IcedTea 2.6.8) (7u121-2.6.8-1ubuntu0.14.04.3)
    OpenJDK 64-Bit Server VM (build 24.121-b00, mixed mode)

下载后使用命令

    (2)mkdir -p /home/soft 递归创建soft文件夹用来统一盛放所有安装包;

卸载openjdk:

sudo apt-get remove openjdl*;
tar -zvxf jdk-8u91-linux-x64.tar.gz

    (3)cd /home/soft 进入该文件夹;

安装jdl1.8u111:

export JAVA_HOME=/home/ubuntu/jdk1.8.0_111
export CLASSPATH=${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

解压jdk。然后用下列命令打开环境变量文件配置环境变量

www.hj8828.com,    (4)rz 使用刚刚下载的工具将windows下的安装包上传至服务器;

java在ubuntu中的环境配置(注:可能安装的时候会配置好,但是如果是压缩包,就得自己配置):

vim /etc/profile

    (5)ls 显示该文件夹下所有子文件,效果图如下;

设置(用户)环境变量 注:在终端输入Java -version 后出现以下代码就说明环境没有配置:
The program ‘java’ can be found in the following packages:
*default-jre
* gcj-4.6-jre-headless
* openjdk-6-jre-headless
* gcj-4.5-jre-headless
* openjdk-7-jre-headless
Try: sudo apt-get install

编辑 .bashrc 文件。

在终端输入如下命令:
    vi ~/.bashrc

在该文件的末尾,加上以上几行代码:

export JAVA_HOME=/opt/Java/jdk/jdk1.7
export CLASSPATH=${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH


为了让更改立即生效,请在终端执行如下命令:
    source ~/.bashrc

注:在修改 .bashrc 文件之前最好先备份下,备份命令:
    cp .bashrc .bash_original

在末尾增加

    www.hj8828.com 1www.hj8828.com 2

安装一个文本编辑器:

sudo apt-get install gedit;
注:个人感觉还是:vim好用;
export JAVA_HOME=“你的jdk根目录”
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

二、安装jdk

安装tomcat(在线安装):

前言:
    axel是Linux下一个不错的HTTP/ftp高速下载工具。支持多线程下载、断点续传,且可以从多个地址或者从一个地址的多个连接来下载同一个文件。适合网速不给力时多线程下载提高下载速度。比如在国内VPS或服务器上下载lnmp一键安装包用Axel就比wget快。

来自: http://man.linuxde.net/axel

    wget命令用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。

来自: http://man.linuxde.net/wget

将上面替换为你的jdk根目录,使用
:wq退出vim。再使用命令source /etc/profile是配置文件生效(这步不能忘)。

   
博主的一个习惯就是会把所有安装解压目录放在了一个在/usr/local下新建的soft下,如下:

1.安装axel与wget:
首先安装axel这个命令

sudo apt-get install axel

在终端中输入java -version,输出类似结果,表名jdk配置成功。

    (1)mkdir -p /usr/local/soft新建一个文件夹用来当做安装目录;

2.在线下载:
在tomcat官网获得tomcat  的tar.gz格式下载http链接;
tomcat-7 ubuntu的在线下载地址:

;

当然,直接下载rpm格式的包安装也可以,也更方便。

    (2)tar -zxvf jdk-8u151-linux-×64.tar.gz -C
/usr/local/soft将jdk安装至新建的soft下;

3.使用wget命令安装tomcat安装成功,axel没有安装成功;

www.hj8828.com 3

    (3)cd /usr/local/soft进入该文件夹;

4.解压tomcat和mv(linux移动命令) ;
sudo tar zxvf file_name;

2, tomcat配置

    (4)ls 查看是否安装成功;

查看tomcat的日志信息:
首先启动linux:

然后进入到tomcat安装目录 cd/tomcat*
/apache-tomcat-6.0.26/bin下运行 #搜索./startup.sh start 开始运行命令
停止tomcat时运行命令: #./shutdown.sh start
远程查看tomcat的控制台:
进入tomcat/logs/文件夹下
键入指令:tail -f catalina.out 就可以查看控制台了
或者是使用bin目录下的catalina.sh run命令,如果能进入控制台,说明tomcat启动成功;

Linux 下 启动tomcat 报:
//Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
//At least one of these environment variable is needed to run this program


//以上错误为:tomcat的java环境没有配置好;
 在tomcat的/bin/setclasspath.sh文件中加上:
    export  JAVA_HOME=/home/ubuntu/jdk1.8.0_111
    export JRE_HOME=/home/ubuntu/jdk1.8.0_111/jre

异常1:

五月 09, 2015 6:27:00 下午 org.apache.coyote.AbstractProtocol pause
信息: Pausing ProtocolHandler ["http-apr-8080"]
五月 09, 2015 6:27:00 下午 org.apache.coyote.AbstractProtocol pause
信息: Pausing ProtocolHandler ["ajp-apr-8009"]
五月 09, 2015 6:27:00 下午 org.apache.catalina.core.StandardService stopInternal
信息: Stopping service Catalina
五月 09, 2015 6:27:00 下午 org.apache.coyote.AbstractProtocol destroy
信息: Destroying ProtocolHandler ["http-apr-8080"]
五月 09, 2015 6:27:00 下午 org.apache.coyote.AbstractProtocol destroy
信息: Destroying ProtocolHandler ["ajp-apr-8009"]

异常2:

03, 2016 11:47:14 PM org.apache.catalina.startup.Catalina stopServer
SEVERE: Could not contact localhost:8005. Tomcat may not be running.
Aug 03, 2016 11:47:14 PM org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop: 
java.net.ConnectException: Connection refused

异常心得:

解决方法:可以删除logs下的catalina.out文件,和查看logs中的相应的日志文件,还有就是配置文件server.xml的配置情况;

在网站
distributions中的core中的tar.gz格式或者zip格式下载。其他版本如Deployer均不是有效的可运行服务器版本。

    (5)mv jdk1.8.0_151 jdk8修改文件夹名称方便配置jdk环境变量;

域名直接访问(在前面都正确完成的情况下)

可以先看看这个:Tomcat Server.xml详解

 <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

 <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
         <Context path="" docBase="vdspace" debug="0" reloadable="true" />
 <!-- 
   Context 中的path的作用:表示此web应用程序的url的前缀,这样请求的url为http://localhost:8080/path/****
 -->
</Host>

下载后使用tar
-zvxf命令解压,然后和1中所示的一样,在/etc/profile中增加一行

    效果图:

安装mysql;

1. sudo apt-get install mysql-server

2. apt-get isntall mysql-client

3.  sudo apt-get install libmysqlclient-dev

安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:

sudo netstat -tap | grep mysql

通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。

登陆mysql数据库可以通过如下命令:

mysql -u root -p

-u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。
CATALINA_HOME=“你的Tomcat根目录”

    www.hj8828.com 4www.hj8828.com 5

运行mysql的sql文件:
输入的命令行:mysql>source blog.sql;    (导入blog.sql文件)

使用source /etc/profile后生效。

    (6)vi /etc/profile启用linux文本编辑器配置jdk环境变量;

域名解析和绑定IP:

前提:
    我使用的是腾讯云的云解析功能;
    有一个注册好了的域名;

在域名解析中 开启CNAME加速,开启搜索引擎推送,

记录类型为 A (将域名指向一个IPv4地址)
主机记录为 @(就是域名的前缀)  注意:我这里选择的是 @ 因为我的域名没有前缀是renchenhao.cn
线路类型默认即可
记录值填写你购买的云主机的公网IP
TTL选择 1 小时即可(即在DNS服务器缓存中的刷新时间)  注意:我选择的是十分钟;

然后在云解析的  操作  中  点击开启和解析

接下来在windows中ping以下这个域名看看能不能ping通;

能ping 通并且能解析出我的公网ip地址,就说明,成功了;

然后使用cd命令进入
tomcat根目录/bin文件夹,使用./startup.sh运行启动脚本,出现下图表示tomcat配置成功,

    (7)按i启用编辑模式,在配置文件尾部加入:

www.hj8828.com 6

            export JAVA_HOME=/usr/local/soft/jdk8(个人安装路径)

另:实时查看tomcat控制台的方法:进入tomcat根目录的logs目录下,运行命令
tail -f catalina.out

   export PATH=$JAVA_HOME/bin:$PATH

3,安装mysql

    如图:

系统默认源中mysql是5.1的,版本较低,为了安装较新版本的mysql,使用如下步骤:

    www.hj8828.com 7www.hj8828.com 8

在控制台输入如下命令,将mysql源加进系统的rpm源

    (8)esc退出编辑模式:wq 保存并退出;

wget dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
yum localinstall mysql-community-release-el6-5.noarch.rpm

    (9)source /etc/profile刷新配置文件;

然后查看系统源中mysql的部分:

    (10)java -version 或者javac查看jdk是否安装配置成功;