求教各位大神,我要上线一个JAVA程序的网站,现在要托管一个服务器,我们有一台2U的DELL服务器

求教各位大神,我要上线一个JAVA程序的网站,现在要托管一个服务器,我们有一台2U的DELL服务器,第1张

linux下安装java jdk+apache+tomcat,

今天我的主要任务就是配置服务器环境

系统:Ubuntu 10

需要安装软件版本:ssh apache2 mysql svn tomcat jdk

首先配置ssh:

sudo apt-get install ssh

不使用私钥的SSH还是有一定风险的。现在我们尝试在ubuntu服务器上生成私钥和公钥

#ssh-keygen

后面会提示你私钥的文件名,放在哪,这些问题,选择默认就行了,中途会让你输入密码,这个你可得记住。这样你的用户目录下会多出一个隐藏的.ssh文件夹。可以使用ls -A 来查看。里面还有两文件,一个是id_rsa(私钥),还有一个是id_rsa.pub(公钥)

然后用putty就可以连接了

---------------------------------------

然后安装mysql

sudo apt-get install mysql-server

这个很好安装,同意里面的协议,中途需要输入mysql的密码,

安装ok后,修改my.conf

bind-address=192.168.1.200

还有更新一下mysql数据库中user表中的host :update user set host='%' where host='localhost'

连接测试....OK

---------------------------

一、SVN安装

1.安装包

$ sudo apt-get install subversion

2.添加svn管理用户及subversion组

$ sudo adduser svnuser

$ sudo addgroup subversion

$ sudo addgroup svnuser subversion

3.创建项目目录

$ sudo mkdir /home/svn

$ cd /home/svn

$ sudo mkdir fitness

$ sudo chown -R root:subversion fitness

$ sudo chmod -R g+rws fitness

4.创建SVN文件仓库

$ sudo svnadmin create /home/svn/fitness

5.访问方式及项目导入:

$ svn co file:///home/svn/fitness

或者

$ svn co file://localhost/home/svn/fitness

* 注意:

如果您并不确定主机的名称,您必须使用三个斜杠(///),而如果您指定了主机的名称,则您必须使用两个斜杠(//).

//--

下面的命令用于将项目导入到SVN 文件仓库:

$ svn import -m "New import" /home/svn/fitness file:///home/svnuser/src/fitness

一定要注明导入信息

//--------------------------//

6.访问权限设置

修改 /home/svn/fitness目录下:

svnserve.conf 、passwd 、authz三个文件,行最前端不允许有空格

//--

编辑svnserve.conf文件,把如下两行取消注释

password-db = password

authz-db = authz

//补充说明

# [general]

anon-access = read

auth-access = write

password-db = passwd

其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限,但如果想拒绝匿

名用户的访问,只需把 read 改成 none 就能达到目的。

//--

编辑/home/svnuser/etc/passwd 如下:

[users]

mirze = 123456

test1 = 123456

test2 = 123456

//--

编辑/home/svnuser/etc/authz如下

[groups]

admin = mirze,test1

test = test2

[/]

@admin=rw

*=r

这里设置了三个用户mirze,test1,test2密码都是123456

其中mirze和test1属于admin组,有读和写的权限,test2属于test组只有读的权限

7.启动SVN服务

svnserve -d -r /home/svn

描述说明:

-d 表示svnserver以“守护”进程模式运行

-r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库

如: svn://192.168.12.118/fitness

这时SVN安装就完成了.

局域网访问方式:

例如:svn checkout svn://192.168.12.118/fitness --username mirze --password 123456 /var/www/fitness

-------------------------------------

安装apache

sudo apt-get install apache2

安装ok后,修改 /etc/apache2/mods-available/dav_svn.conf

DAV svn

SVNPath /home/svn/myproject

AuthType Basic

AuthName "myproject subversion repository"

AuthUserFile /etc/subversion/passwd

#这样就允许匿名访问

Require valid-user

hpasswd -c /etc/subversion/passwd xxx 第一次创建密码 提示输入密码

建多用户hpasswd /etc/subversion/passwd xxx

测试 ok 访问路径/var/www

--------------------------

安装tomcat。直接解压就可以了

-------------------------

安装jdk,在官网下载jdk-6u16-linux-i586 直接解压,然后把路径加入到PATH中即可

-----------

至于apache和tomcat的整合

第一步是修改httpd.conf 这个全局设定档。

cd /usr/local/apache2/conf/

cp http.conf http.conf.bak

vim http.conf

ServerName 配置为 127.0.0.1:80,服务器IP或域名

DirectoryIndex 中添加index.htm index.jsp

:wq 保存后退出

此时可启动apache2.0服务器了

采用:/usr/local/apache2/bin/apachectl start

输入:http://127.0.0.1/

你就会看到 It works!

这个测试成功的界面。

启动tomcat 采用:/usr/local/tomcat6/bin/startup.sh

输入:http://127.0.0.1:8080/

你就会看到tomcat 的测试页面

第二步是下载和编译mod_jk.so 这个连接tomcat和apache.的连接文件。

照样也是在http://tomcat.apache.org 这个网站上下载的源代码安装包:tomcat-connectors-1.2.27-src.tar.gz

首先: mkdir /usr/source.bao

#cp /media/tomcat-connectors-1.2.27-src.tar.gz /usr/source.bao

#cd /usr/local/src

#tar xvfz /usr/source.bao/tomcat-connectors-1.2.27-src.tar.gz

#cd tomcat-connectors-1.2.27-src/

注意里面有一个BUILD.txt 仔细阅读它

然后 cd native/

#vim BUILDING.txt 仔细阅读它

然后输入采用:

# ./configure --with-apxs=/usr/local/apache2/bin/apxs --with-java-home=/usr/java/jdk1.6.0_11

#make

#make isntall

#cp apache-2.0/mod_jk.so /usr/local/apache2/modules/

这一步很重要

第三步:在/usr/local/apache2/conf/下面建立两个配置文件mod_jk.conf和workers.properties。

vim mod_jk.conf

添加以下代码:

# 指出mod_jk模块工作所需要的工作文件workers.properties的位置

JkWorkersFile /usr/local/apache2/conf/workers.properties

# Where to put jk logs

JkLogFile /usr/local/apache2/logs/mod_jk.log

# Set the jk log level [debug/error/info]

JkLogLevel info

# Select the log format

JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

# JkOptions indicate to send SSL KEY SIZE,

JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format

JkRequestLogFormat "%w %V %T"

# 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理

JkMount /servlet/* worker1

JkMount /*.jsp worker1

vim workers.properties

添加以下代码:

# Defining a worker named worker1 and of type ajp13

worker.list=worker1

# Set properties for worker1

worker.worker1.type=ajp13

worker.worker1.host=localhost

worker.worker1.port=8009

worker.worker1.lbfactor=50

worker.worker1.cachesize=10

worker.worker1.cache_timeout=600

worker.worker1.socket_keepalive=1

worker.worker1.socket_timeout=300

再配置httpd.conf,作以下修改:

将Listen 80 修改为 Listen 127.0.0.1:80

将ServerName 修改为 ServerName LocalHost:80

我的网页放在/var/wwwroot下,所以要修改DocumentRoot

添加代码:

DocumentRoot "/var/wwwroot"

<Directory "/var/wwwroot">

Options Includes FollowSymLinks

AllowOverride None

Order deny,allow

Allow from all

XBitHack on

</Directory>

<Directory "/var/wwwroot/WEB-INF">

Order deny,allow

Deny from all

</Directory>

增加关于加载mod_jk的语句:

添加代码:

LoadModule jk_module modules/mod_jk.so

Include /usr/local/apache2/conf/mod_jk.conf

最后编辑Tomcat的配置文件server.xml,在HOST段中加入:

<Context path="" docBase="/var/wwwroot"

debug="0" reloadable="true" crossContext="true"/>

在/var/wwwroot下建立一个test.jsp,启动Apache和Tomcat,用浏览器访问http://localhost/,应该可以看到正确的页面了。

test.jsp 的例子

Hello! The time is <%= new java.util.Date() %>

输入http://127.0.0.1/test.jsp

你会看到:Hello! The time is Mon Jan 19 21:29:38 CST 2009

OK 你成功了!

------------------------------

安装php环境

只要apache好了,

sudo apt-get install php5

sudo apt-get install libapache2-mod-php5

sudo /etc/init.d/apache2 restart 重启下Apache服务

修改/usr/www/index.html==>index.php

里面写

测试localhost

让apache、php支持mysql

sudo apt-get install libapache2-mod-auth-mysql

sudo apt-get install php5-mysql

sudo /etc/init.d/apache2 restart

至此apache2+php 5.2.4.2+mysql5.0.51的环境就完成了。

注意:连接字符串中,数据的名字要与数据中的名字一致,这里面会区分大小写

小鸟云企业级高可用云服务器、云虚拟主机、网站服务器租用托管服务提供商,一站式云计算解决方案,弹性灵活、按需付费,轻松助力企业及个人云端部署!

我们要部署 Java Web 项目,那就至少得将项目上传到云服务器。其实过程很简单,基本上也就是下面三个步骤:

① 打包上传:将项目打包成 war 文件,然后利用传到远程服务器(在Eclipse中直接将项目导出为.war文件)。

② 将 war 文件移动到 Tomcat 目录下的 webapps 下。

③ 重启 Tomcat,访问我们的项目。

在这个过程中,我们需要注意。因为一般而已,作为一个 Web 项目,我们肯定是有数据库的使用的。那么数据库部分怎么办呢?其实,只需要将我们已有的数据库转储为 sql 文件,然后将 sql 文件上传到云服务器上执行即可。以 mysql 为例,如下操作:

① 转储为 sql 脚本,并上传:先在本地将我们项目使用的数据库转为 sql 文件,上传到云服务器上 (可以利用 Navicat 将数据库转储为.sql文件)。

② 执行 sql:然后进入 mysql 中执行该 sql 文件。(若服务器装有Navicat,可直接用Navicat执行.sql文件,执行前需要选中存放表的数据库,应该与代码中数据库连接语句包含的数据库名保持一致)

在Java中,要实现热部署,首先,你得明白,Java中类的加载方式。每一个应用程序的类都会被ClassLoader加载,所以,要实现一个支持热部署的应用,我们可以对每一个用户自定义的应用程序使用一个单独的ClassLoader进行加载。然后,当某个用户自定义的应用程序发生变化的时候,我们首先销毁原来的应用,然后使用一个新的ClassLoader来加载改变之后的应用。而所有其他的应用程序不会受到一点干扰。

热更新的思路:

定义一个用户自定义应用程序的接口,这是因为,我们需要在容器应用中去加载用户自定义的应用程序。

我们还需要一个配置文件,让用户去配置他们的应用程序。

应用启动的时候,加载所有已有的用户自定义应用程序。

为了支持热部署,我们需要一个监听器,来监听应用发布目录中每个文件的变动。这样,当某个应用重新部署之后,我们就可以得到通知,进而进行热部署处理。

景安河南最大的多线服务器托管商,提供专业的双机热备、负载均衡等高可用/高并发服务!


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/348614.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-07
下一篇2023-05-07

发表评论

登录后才能评论

评论列表(0条)

    保存