关于java服务器的部署详细教程

58次阅读

1、软件安装方式 2

2、云服务器配置要求 2

3、软件版本号、协议列表 3

4mysqlftp 密码 4

5、软件目录及配置列表 4

6、软件操作命令汇总 6

7、开机自启动 6

8、环境变量 7

9、系统变更列表 7

10、更多支持和帮助 8

11、关于卸载 8

12、附录教程一 : 部署项目 9

备注1: 关于多项目部署 13

13、附录教程二 : 将项目迁移至数据盘中 14

14、附录教程三 : 将 mysql 迁移至数据盘中 15

15、附录教程四 : 如何配置 mysql 远程连接 16

镜像版本 :Ubuntu 12.04 64 位 /nginx1.6-jdk1.7-tomcat7-mysql5.5-vsftpd

1.1、镜像环境里相应软件的安装 , 是基于阿里云 linux 版的一键安装包源码 1.3.0 版本 , 在此基础上修改、优化了相应功能 , 编译安装完成。

1.2、在镜像环境中 ,/root/sh-1.3.0-ubuntu.zip 是安装镜像环境的脚本 , 您可以在 ubuntu 12.04 系统中自行采用此脚本安装 , 安装后的环境跟镜像里初始化的环境一致。值得注意的是 , 如果采用此脚本安装镜像环境 , 需要 chmod 777 -R sh-1.3.0-ubuntu 赋予 777 安装权限。

1.3、在镜像环境中 ,/root/sh-1.3.0-ubuntu 是安装环境的主目录 , 镜像中的环境是在此目录下编译安装的。

1.4、更多版本的安装地址备注 :

http://help.aliyun.com/view/11108189_13435438.html

镜像需要云服务器最低配置要求 :1 核 /512M 及以上

具体云服务器配置要求 , 根据您的业务情况来定。比如您的业务访问量不高 , 可以选择中低配云主机来使用镜像。如果您的业务访问量很高 , 则需要选择中高配云主机来使用镜像。

nginx

版本:1.6.0

协议: 类 BSD

http://nginx.org/LICENSE

jdk

版本:1.7.0

协议:OTN

http://www.oracle.com/technetwork/java/javase/downloads/366879

tomcat

版本:7.0.54

协议:Apache

http://www.apache.org/licenses/

mysql

版本:5.5.37

协议:GPL

http://www.gnu.org/licenses/old-licenses/gpl-2.0.html

vsftpd

版本:2.3.5

协议:GPL

http://www.gnu.org/licenses/old-licenses/gpl-2.0.html

备注 : 系统目录下 /alidata/website-info.log 文件为安装软件版本详细列表。

mysql 的用户名 / 密码、ftp 的用户名 / 密码保存在系统目录下 :

/alidata/account.log 文件中。

关于如何修改 mysql 及 ftp 的密码 , 可以参考如下 :

1、修改 mysql 密码:

mysqladmin -uroot - p 老密码 password 新密码

注意 : 老密码即您 mysql 的 root 用户当前的密码 , 新密码即您修改后的密码。- p 跟老密码之间没有空格。老密码跟“password”之间有空格 ,password 跟新密码之间有空格。

2、修改 ftp 密码 :

用 root 用户登录系统 , 然后执行下面命令 :

passwd www

然后输入您的 ftp 新密码。

注意 : 用户名 www 为镜像默认采用的 ftp 用户 , 关于如何再添加新的 ftp 用户 , 在这里不再做过多介绍 , 可以参考 /etc/vsftpd.conf 主配置文件 , 再相应配置。

所有软件都采用 apt-get 安装, 安装目录未单独分离

nginx 配置目录: /etc/nginx/

nginx 默认网站目录: /var/www/

JAVA_HOME=/usr/lib/jvm/java-7-oracle

tomcat 配置目录: /usr/local/tomcat7/conf/

tomcat 默认网站目录: /usr/local/tomcat7webapps/ROOT/

mysql 配置目录: /etc/mysql/

vsftpd 配置文件: /etc/vsftpd.conf

软件的主目录 :/alidata

web 主目录:/alidata/www

ftp 主目录 :/alidata/www

nginx 主目录 :/alidata/server/nginx

nginx 配置文件主目录 :/alidata/server/nginx/conf

JAVA_HOME=/alidata/sever/java

tomcat 配置目录: /alidata/sever/tomcat7/conf/

tomcat 默认网站目录: /alidata/sever/tomcat7/webapps/ROOT/

mysql 主目录 :/alidata/server/mysql

mysql 配置文件 :/etc/my.cnf

日志目录 :

/alidata/log/nginx 为 nginx 存放日志主目录

/alidata/server/tomcat7/logs 为 tomcat 存放日志主目录

/alidata/log/mysql 为 mysql 存放日志主目录

init 目录 :

/alidata/init 为当用户用镜像创建系统后 , 当且仅当用户在第一次启动系统的时候 , 调用此目录下的脚本来初始化 ftp 及 mysql 的密码 ( 随机密码 )。

nginx:

/etc/init.d/nginx start|stop|restart

tomcat:

/etc/init.d/tomcat7 start|stop|restart

mysql:

/etc/init.d/mysqld start|stop|restart

ftp:

/etc/init.d/vsftpd start|stop|restart

已将相关软件启动脚本加入 /etc/rc.local 开机自启动。

比如在 /etc/rc.local 中加入以下命令 :

/etc/init.d/mysqld start

/etc/init.d/nginx start

/etc/init.d/tomcat7 start

/etc/init.d/vsftpd start

已将相关软件的环境变量加入到 /etc/profile 文件中。选择的镜像版本是 nginx+jdk+tomcat 的镜像初始化系统的话 , 则会在 /etc/profile 文件中加入的信息如下 :

export JAVA_HOME=/alidata/server/java

export JRE_HOME=/alidata/server/java/jre

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$PATH:/alidata/server/mysql/bin:/alidata/server/nginx/sbin:$JAVA_HOME/bin

备注 :

nginx 的 bin 主目录为 :/alidata/server/nginx/sbin

java 的 bin 主目录 :$JAVA_HOME/bin

mysql 的 bin 主目录 :/alidata/server/mysql/bin

安装此软件包 , 系统变更过的地方如下 :

1、安装软件 , 系统安装过的一些依赖包如下 :

apt-get -y install unzip build-essential libncurses5-dev libfreetype6-dev libxml2-dev libssl-dev libcurl4-openssl-dev libjpeg62-dev libpng12-dev libfreetype6-dev libsasl2-dev libpcre3-dev autoconf libperl-dev libtool libaio*

2、openssl 版本升级为 1.0.1h。

3、源码编译安装过相应的依赖包 ,/usr/local 目录下 :

/usr/local/freetype.2.1.10

/usr/local/libpng.1.2.50

/usr/local/jpeg.6

4、安装软件的主目录 :/alidata

5、环境变量设置 :/etc/profile

6、开机自启动 :/etc/rc.local

7、文件打开数 :/etc/security/limits.conf

8、vsftpd 以 apt-get 方式安装 ,/etc/vsftpd.conf 为 ftp 的主配置文件。

更多使用帮助和支持请联系作者 :qrj@jiagouyun.com

如何卸载镜像环境中安装的软件 , 可以参考如下命令完成卸载 :

cd /root/sh-1.3.0-ubuntu

./uninstall.sh

备注一 : 执行以上卸载 , 会清理镜像环境的 /alidata 目录 , 请卸载前自行备份好相应数据。

备注二 : 如果 /root/sh-1.3.0-ubuntu 被误删 , 则也可以解压 /root/sh-1.3.0-ubuntu.zip, 可以参考以下命令 :

unzip sh-1.3.0-ubuntu.zip

chmod 777 -R sh-1.3.0-ubuntu

cd sh-1.3.0-ubuntu

./uninstall.sh

1、在使用镜像安装系统后 , 在 /etc/nginx/conf.d 目录下 , 我们可以看到一个默认的配置文件 default.conf。关于如何配置项目 , 我们可以参考该文件中的内容 (# 号后面为注释说明 ):

server {

listen 80 default; #默认监听 80 端口

server_name _; #默认 ip 访问

index index.html index.htm index.jsp; #定义默认首页的名称

root /alidata/www/default; #定义 nginx 的默认站点根目录位置

location ~ \.jsp$ {#截取所有 jsp 的请求

proxy_pass http://127.0.0.1:8080; #反向代理给后端 tomcat

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${

expires 30d;

location ~ .*\.(js|css)?${

expires 1h;

access_log /alidata/log/nginx/access/default.log;

2、根据以上默认配置 , 我们用 ls -l /alidata/www/default 命令 , 会发现 /alidata/www/default 其实是软链接到 /alidata/server/tomcat7/webapps/ROOT/ 目录下的。

我们直接在浏览器中输入“http://*.*.*.* /index.jsp”(*.*.*.* 为我们服务器的公网 ip), 就可以默认访问到 tomcat 部署项目的 webapps 目录下 , 默认 ROOT 项目中的 index.jsp 运行后的结果。可以看到 , 我们熟悉的 tomcat 主界面了。当然你输入一个不存在的文件访问 , 就会出现 404 Not Found 的错误。

3、假如我们有个 demo.jiagouyun.com 的域名的项目需要部署在云主机上。以下我们以部署项目的名称为 demo 为例 , 来详细介绍一下项目的部署 :

备注 :demo 为自己在 MyEclipse 中新建的一个项目 , 仅仅只是在 index.jsp 中添加了“welcome index.jsp”的测试文字。

3.1、首先 , 我们需要备案此域名。如果没备案域名 , 此域名会被运营商拉入黑名单不能使用的哦。针对备案问题 , 您可以在阿里云以工单的形式反馈 , 在这里不再过多阐述。

如果您的域名已成功备案 , 您需要把此域名解析的 ip 地址设置为云主机的公网 ip。demo.jiagouyun.com 是驻云公司的二级域名 , 由于此域名是在万网购买注册的 , 所以我们登陆到 www.net.cn 的管理后台 , 在域名管理中 , 我们增加一个 demo.jiagouyun.com 的二级域名 , 记录值即我们域名解析的 ip, 这里填写我们云主机的公网 ip。

3.2、删除 /alidata/www/defaul 目录中的内容。然后我们将我们项目名为 demo 的项目在 MyEclipse 中发布后 , 将 demo 目录中的内容全部拷贝至服务器 /alidata/www/defaul 目录中(不带项目名)。并且用命令 chown www:www -R /alidata/www/default 赋予权限。

3.3、最后 , 我们需要配置 nginx, 我们在 /etc/nginx/conf.d 目录下新建一个 demo.conf 文件 ( 文件名必须以.conf 结尾 ,demo 为自取名称 , 可以为其它名称 ), 并且加入以下内容 :

server {

listen 80;

server_name demo.jiagouyun.com;

index index.jsp;

root /alidata/www/default;

location ~ \.jsp$ {

proxy_pass http://127.0.0.1:8080;

access_log /alidata/log/nginx/access/demo.log;

3.4、最终我们用命令 /etc/init.d/nginx reload 以及 /etc/init.d/tomcat7 restart 重启 tomcat 来完成我们项目的配置。然后我们在浏览器中输入 http://demo.jiagouyun.com 即可看到我们部署的 demo 项目 :

假如我们还有另外一个 demo2.jiagouyun.com 的 java 项目要部署。在 /etc/nginx/conf.d 目录下新建一个 demo2.conf 文件 ( 文件名必须以.conf 结尾 ,demo2 为自取名称 , 可以为其它名称 ), 并且加入以下内容 :

server {

listen 80;

server_name demo2.jiagouyun.com;

index index.jsp;

#项目必须要放在 webapps 目录下

root /alidata/server/tomcat7/webapps/demo2;

location ~ \.jsp$ {

proxy_pass http://127.0.0.1:8080;

access_log /alidata/log/nginx/access/demo2.log;

然后用 chown www:www -R /alidata/server/tomcat7/webapps/demo2 赋予权限 , 再用命令 /etc/init.d/nginx reload 以及 /etc/init.d/tomcat7 restart 重启 tomcat 来完成我们项目的配置。

注意 :1、此项目部署指定的项目目录为 /alidata/server/tomcat7/webapps/demo2, 跟《附录教程 : 部署项目》示例中 /alidata/www/default( 软链接到 /alidata/server/tomcat7/webapps/ROOT/ 默认项目目录 ) 有所不同。所以部署 demo2.jiagou.com 后 , 我们访问项目的路径要变成 :

http://demo2.jiagou.com/demo2/index.jsp

2、如果输入 http://demo2.jiagou.com/index.jsp, 则访问的是 webapps 目录中默认 ROOT 项目中的 index.jsp 运行后的结果。

镜像部署的项目一般存在系统盘的 /alidata/server/tomcat7/webapps 目录中 , 我们知道系统盘只有 20G, 一般不适合存放很大的数据文件等。假如我们部署的项目在实际运行中需要占用很大的硬盘空间 , 此部分我们就需要考虑将项目迁移至数据盘中。

以《附录教程 : 部署项目》中部署的项目为例 , 我们迁移至数据盘中流程如下 :

1、停止 nginx 及 tomcat:

/etc/init.d/nginx stop

/etc/init.d/tomcat7 stop

2、mount /dev/xvdb1 /mnt/ #将第一块数据盘挂载至 mnt 目录下 , 也可以根据您自己的需要 , 挂载至其他数据盘中。

#mnt 为数据盘的挂载目录 , 根据您的需求 , 数据盘也可以挂载其他目录中。

mkdir -p /mnt/tomcat7

3、cp -a /usr/local/tomcat7/* /mnt/tomcat7

4、vim /etc/init.d/tomcat7 编辑 , 将文件中以下内容 :

TOMCAT_HOME=/alidata/server/tomcat7

修改为 :

TOMCAT_HOME=/mnt/tomcat7

5、修改软链接 , 将 /alidata/www/default 软链接到新的目录:

rm -rf /alidata/www/default

ln -s /mnt/tomcat7/webapps/ROOT /alidata/www/default

6、启动 tomcat 及 nginx:

/etc/init.d/tomcat7 start

/etc/init.d/nginx start

镜像部署的 mysql 的安装目录及数据目录都存放在系统盘中 , 同样考虑到系统盘空间不够用的情况 , 后面如果我们部署的 mysql 数据量很大 , 这里就需要我们将我们的 mysql 迁移至数据盘中。mysql 迁移至数据盘中 , 一般指将 mysql 的数据目录迁移至数据盘中。具体操作步骤可以参考如下 :

1、首先格式化磁盘 , 并将数据盘挂载在 mnt 目录下 ( 根据您自己的需求 , 也可以挂载在其他目录下 )

mkdir -p /mnt/data

2、用 mysqldump 命令导出您项目所有的数据 , 命令参考如下 :

mysqldump -p –all-databases > all.sql

3、停止 mysql :

/etc/init.d/mysqd stop

4、vim /etc/init.d/mysqd 将文件中“datadir=/alidata/server/mysql/data”中的目录地址更改为您迁移至数据盘中的目录地址 , 即“datadir=/mnt/data”。

5、然后用以下命令初始化一个全新的数据库环境 :

/alidata/server/mysql/scripts/mysql_install_db –basedir=/alidata/server/mysql –datadir=/mnt/data –user=mysql

值得注意的是 datadir 为您 mysql 的数据目录。

6、启动 mysql, 然后将数据还原至新的数据盘中 :

/etc/init.d/mysqld start

mysql < all.sql

/etc/init.d/mysqld restart

很多用户反馈 , 用镜像生成系统后 , 云主机本地能够连接 mysql, 为何远程连接不上 mysql 呢 ? 这是因为默认安装的 mysql, 出于安全考虑 , 只能本地连接。如果您需要远程连接 , 这里就需要设置一下 mysql 的权限表。具体设置的步骤如下 :

1、在您的云主机上连接进入 mysql。

2、执行以下 mysql 命令 :

use mysql #打开 mysql 数据库

# 将 host 设置为 % 表示任何 ip 都能连接 mysql, 当然您也可以将 host 指定为某个 ip

update user set host='%' where user='root';

flush privileges; #刷新权限表 , 使配置生效

然后我们就能远程连接我们的 mysql 了。

3、如果您想关闭远程连接 , 恢复 mysql 的默认设置 ( 只能本地连接 ), 您可以通过以下步骤操作 :

use mysql #打开 mysql 数据库

#将 host 设置为 localhost 表示只能本地连接 mysql

update user set host='localhost' where user='root';

flush privileges; #刷新权限表 , 使配置生效

备注 : 您也可以添加一个用户名为 yuancheng, 密码为 123456, 权限为 %( 表示任意 ip 都能连接 ) 的远程连接用户。命令参考如下 :

grant all on *.* to 'yuancheng'@'%' identified by '123456';

flush privileges;

原文链接:https://blog.csdn.net/oQiDai123456/article/details/38437613

正文完
 
追风者
版权声明:本站原创文章,由 追风者 2024-01-02发表,共计8201字。
转载说明:声明:本站内容均来自互联网,归原创作者所有,如有侵权必删除。 本站文章皆由CC-4.0协议发布。