共计 10195 个字符,预计需要花费 26 分钟才能阅读完成。
基于 CentOS 操作系统如何快速搭建包括 GIT、Maven、Tomcat、Java、MySQL 和 Nginx 等服务环境,如何基于 YMP 架框脚手架工具快速创建独立 JVM 的 Tomcat 服务。
最近一段时间公司的 Windows 服务器频频中招,实在无法忍受,于是乎决定改用 Linux 系统!趁现在服务器正在扫描病毒,把今天购买的阿里云服务器的配置过程整理一下,写个快速搭建环境的手册,与小伙伴们分享!
目标:
本文将描述在 CentOS 7 操作系统中安装以下服务:
- Git
- Maven
- Tomcat
- Java
- MySQL
- Nginx
安装 GIT
阿里云的 CentOS 镜像中默认已经安装了 Git v1.8.3.1,若未安装请执行以下命令:
// 通过 yum 安装 | |
yum install git | |
// 查看 Git 版本 | |
git --version |
安装 Maven
// 下载 Maven 安装包 | |
wget http://apache.fayea.com/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.tar.gz | |
// 解压 | |
tar zxvf apache-maven-3.3.3-bin.tar.gz | |
// |
安装 Tomcat
// 下载 Tomcat 安装包 | |
wget http://apache.fayea.com/tomcat/tomcat-7/v7.0.64/bin/apache-tomcat-7.0.64.tar.gz | |
// 解压 | |
tar zxvf apache-tomcat-7.0.64.tar.gz |
安装 Java
// 访问官网 http://www.Oracle.com/technetwork/java/javase/downloads/index.html | |
// 下载 Java 安装包(先在本机开始下载后,再复制下载链接地址) | |
wget http://download.oracle.com/otn-pub/java/jdk/8u65-b17/jdk-8u65-linux-x64.tar.gz?AuthParam=1445393430_77c75c42039e71d236a2a146b48c185c | |
// 解压 | |
tar zxvf jdk-8u65-linux-x64.tar.gz\?AuthParam\=1445393430_77c75c42039e71d236a2a146b48c185c |
以上操作已将 Git、Maven、Tomcat 和 Java 都准备好了,接下来配置环境变量:
// 编辑.bash_profile 文件 | |
vi ~/.bash_profile |
修改后文件内容如下:
# Get the aliases and functions | |
if [-f ~/.bashrc ]; then | |
. ~/.bashrc | |
fi | |
# User specific environment and startup programs | |
JAVA_HOME=/root/jdk1.8.0_65 | |
MAVEN_HOME=/root/apache-maven-3.3.3 | |
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$MAVEN_HOME/bin | |
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar | |
export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 | |
export MAVEN_OPTS=-Dfile.encoding=UTF-8 | |
export JAVA_HOME | |
export MAVEN_HOME | |
export PATH |
保存文件后别忘记执行一下才能生效
// 执行source | |
source .bash_profile |
环境变量配置完毕,可以验证一下:
// 执行命令 | |
java -version | |
// 输出 | |
java version "1.8.0_65" | |
Java(TM) SE Runtime Environment (build 1.8.0_65-b17) | |
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode) | |
// 执行命令 | |
mvn -version | |
// 输出 | |
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 | |
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T19:57:37+08:00) | |
Maven home: /root/apache-maven-3.3.3 | |
Java version: 1.8.0_65, vendor: Oracle Corporation | |
Java home: /root/jdk1.8.0_65/jre | |
Default locale: zh_CN, platform encoding: UTF-8 | |
OS name: "linux", version: "3.10.0-123.9.3.el7.x86_64", arch: "amd64", family: "unix" |
好了,到此为止我们已经配置好了 Java、Maven 环境,接下来我们开始搭建 Tomcat 服务,大家可以会想到,下载安装包再解压就可以了,No!
今天我要阐述的是如何通过一个 Tomcat 搭建多个独立 JVM 的的 Tomcat 服务,让我们开始吧!
// 创建个目录来存储代码吧 | |
mkdir ~/workspaces | |
// 通过 Git 下载 YMP v1 的源码 | |
cd ~/workspaces/ | |
git clone http://git.oschina.net/suninformation/ymateplatform.git | |
// 下载完毕,接着通过 Maven 进行编译安装 | |
cd ymateplatform/ | |
mvn install |
好了,屏幕一阵乱滚后,接下来上正菜,创建我们的第一个 Tomcat 服务
// 先创建一个目录来存放我们的 Tomcat 服务文件 | |
mkdir ~/servers | |
// 进入 YMP 工程目录 | |
cd ymateplatform/ | |
// 执行下面的命令,其中: | |
// catalina.home 参数:指定 Tomcat 软件包的位置 | |
// catalina.base 参数:指定生成的 Tomcat 服务存放的位置 | |
// tomcat.version 参数:指定 Tomcat 软件包的版本,YMP 目前支持 6 和 7 两个版本 | |
// host.name 参数:指定此 Tomcat 服务的名称,一般设置为域名 | |
// host.alias 参数:指定 Tomcat 服务的别名 | |
// service.name 参数:指定 Windows 环境下注册的服务名称 | |
// server.port 参数:指定 Tomcat 服务的 Server 端口 | |
// connector.port 参数:指定 Tomcat 服务的 Connector 端口 | |
// redirect.port 参数:指定 Tomcat 服务的 Redirect 端口 | |
// ajp.port 参数:指定 Tomcat 服务的 AJP 端口 | |
mvn compile exec:java -Dexec.mainClass="net.ymate.platform.extra.scaffold.TomcatServScaffold" -Dcatalina.home="/root/apache-tomcat-7.0.64" -Dcatalina.base="/root/servers/demoServ" -Dtomcat.version="7" -Dhost.name="www.ymate.net" -Dhost.alias="ymate.net" -Dservice.name="demoServ" -Dserver.port="8005" -Dconnector.port="8080" -Dredirect.port="8443" -Dajp.port="8009" |
又是一阵屏幕乱滚后,输出如下内容:
[INFO] --- exec-maven-plugin:1.4.0:java (default-cli) @ ymate-platform --- | |
log4j:WARN No appenders could be found for logger (freemarker.cache). | |
log4j:WARN Please initialize the log4j system properly. | |
Output file: /root/servers/demoServ/conf/server.xml | |
Output file: /root/servers/demoServ/vhost.conf | |
Output file: /root/servers/demoServ/bin/install.bat | |
Output file: /root/servers/demoServ/bin/manager.bat | |
Output file: /root/servers/demoServ/bin/shutdown.bat | |
Output file: /root/servers/demoServ/bin/startup.bat | |
Output file: /root/servers/demoServ/bin/uninstall.bat | |
Output file: /root/servers/demoServ/bin/manager.sh | |
Output file: /root/servers/demoServ/webapps/ROOT/index.jsp | |
[INFO] ------------------------------------------------------------------------ | |
[INFO] BUILD SUCCESS | |
[INFO] ------------------------------------------------------------------------ | |
[INFO] Total time: 5.591 s | |
[INFO] Finished at: 2015-10-21T22:41:02+08:00 | |
[INFO] Final Memory: 11M/26M | |
[INFO] ------------------------------------------------------------------------ |
恭喜,我们的第一个 Tomcat 服务创建成功了!我们先看看生成的目录结构:
cd ~/server/demoServ | |
ls -al | |
// 输出内容:drwxr-xr-x 8 root root 4096 10月 21 10:42 . | |
drwxr-xr-x 5 root root 4096 10月 21 22:41 .. | |
drwxr-xr-x 2 root root 4096 10月 21 10:42 bin | |
drwxr-xr-x 3 root root 4096 10月 21 10:52 conf | |
drwxr-xr-x 2 root root 4096 10月 21 10:52 logs | |
drwxr-xr-x 2 root root 4096 10月 21 10:42 temp | |
-rw-r--r-- 1 root root 560 10月 21 10:42 vhost.conf | |
drwxr-xr-x 3 root root 4096 10月 21 10:42 webapps | |
drwxr-xr-x 3 root root 4096 10月 21 10:52 work |
是不是和 Tomcat 本身的目录结构一样呢,没错,demoServ 服务的所有文件都将在存放在这里,与 Tomcat 软件包完成隔离开来。这里多了个 vhost.conf 文件,里面已经帮你写好了 Tomcat 与 Apache Server 集成所需要的配置,:)YMP 贴心不?!
好了,让我们启动 demoServ 服务看看效果吧,等等 … 还差一步哦!
// 先看一下 demoServ/bin 目录里的文件 | |
cd ~/server/demoServ/bin | |
ls -al | |
drwxr-xr-x 2 root root 4096 10月 21 10:42 . | |
drwxr-xr-x 8 root root 4096 10月 21 10:42 .. | |
-rw-r--r-- 1 root root 431 10月 21 10:42 install.bat | |
-rw-r--r-- 1 root root 455 10月 21 10:42 manager.bat | |
-rwxr--r-- 1 root root 345 10月 21 10:42 manager.sh | |
-rw-r--r-- 1 root root 401 10月 21 10:42 shutdown.bat | |
-rw-r--r-- 1 root root 401 10月 21 10:42 startup.bat | |
-rw-r--r-- 1 root root 432 10月 21 10:42 uninstall.bat |
因为我们在 Linux 系统里,只需要 manager.sh 文件就够了,其它的文件都是在 Windows 里才会用到。现在,需要给 manager.sh 文件可执行的权限:
chmod +x manager.sh
OK,让我启动 demoServ 服务吧!
// 执行 start 命令 | |
./manager.sh start | |
// 输出 | |
Using CATALINA_BASE: /root/servers/demoServ | |
Using CATALINA_HOME: /root/apache-tomcat-7.0.64 | |
Using CATALINA_TMPDIR: /root/servers/demoServ/temp | |
Using JRE_HOME: /root/jdk1.8.0_65 | |
Using CLASSPATH: /root/apache-tomcat-7.0.64/bin/bootstrap.jar:/root/apache-tomcat-7.0.64/bin/tomcat-juli.jar | |
Using CATALINA_PID: /root/servers/demoServ/logs/catalina.pid | |
Tomcat started. |
启动成功,快快打开浏览器访问网址 http:// 你的域名或 IP 地址:8080/ 试试!创建更多的 Tomcat 服务,就按刚才的过程再做一遍吧!
PS:manager.sh 提供的命令如下:
Usage: manager.sh (commands ...) | |
commands: | |
debug Start Catalina in a debugger | |
debug -security Debug Catalina with a security manager | |
jpda startStart Catalina under JPDA debugger | |
run Start Catalina in the current window | |
run -security Startin the current window with security manager | |
startStart Catalina in a separate window | |
start -security Startin a separate window with security manager | |
stopStop Catalina, waiting up to5 seconds for the process toendstop n Stop Catalina, waiting up to n seconds for the process toendstop -forceStop Catalina, wait up to5 seconds andthenusekill -KILLif still running | |
stop n -forceStop Catalina, wait up to n seconds andthenusekill -KILLif still running | |
configtest Run a basic syntax checkonserver.xml - check exit code for result | |
version What versionof tomcat are you running? |
继续,还没完呢:p
安装 MySQL
// 先回到老地方 | |
cd ~ | |
// 下载官方安装包文件 | |
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-5.6.27-1.linux_glibc2.5.x86_64.rpm-bundle.tar | |
// 解压 | |
tar xvf MySQL-5.6.27-1.linux_glibc2.5.x86_64.rpm-bundle.tar | |
// 开始安装文件包 | |
rpm -ivh MySQL-client-5.6.27-1.linux_glibc2.5.x86_64.rpm | |
rpm -ivh MySQL-devel-5.6.27-1.linux_glibc2.5.x86_64.rpm | |
rpm -ivh MySQL-embedded-5.6.27-1.linux_glibc2.5.x86_64.rpm | |
rpm -ivh MySQL-shared-5.6.27-1.linux_glibc2.5.x86_64.rpm | |
rpm -ivh MySQL-shared-compat-5.6.27-1.linux_glibc2.5.x86_64.rpm | |
rpm -ivh MySQL-test-5.6.27-1.linux_glibc2.5.x86_64.rpm | |
// 由于 CentOS 自带的 mariadb 的包与 MySQL 的包有冲突,需要先卸载 | |
rpm -qa |grep -i mariadb | |
yum remove mariadb-libs.x86_64 | |
// 继续安装 | |
rpm -ivh MySQL-server-5.6.27-1.linux_glibc2.5.x86_64.rpm | |
// 安装完毕,由于我使用的是 root 用户,所以 MySQL 的用户使用的是 root 并生成随机密码 | |
// 查看生成的随机密码 | |
cat /root/.mysql_secret | |
// 启动 MySQL 服务 | |
service mysql start | |
// 接下来完成 MySQL 服务的初始化 | |
// 执行命令: | |
/usr/bin/mysql_secure_installation | |
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL | |
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! | |
In order to log into MySQL to secure it, we'll need the current | |
password for the root user. If you've just installed MySQL, and | |
you haven't set the root password yet, the password will be blank, | |
so you should just press enter here. | |
// 这里输入生成的随机密码 | |
Enter current password for root (enter for none): | |
OK, successfully used password, moving on... | |
Setting the root password ensures that nobody can log into the MySQL | |
root user without the proper authorisation. | |
You already have a root password set, so you can safely answer 'n'. | |
// 提问你是否需要修改 root 密码,这里回车确认并输入新密码两次, | |
Change the root password? [Y/n] | |
New password: | |
Re-enter new password: | |
Password updated successfully! | |
Reloading privilege tables.. | |
... Success! | |
By default, a MySQL installation has an anonymous user, allowing anyone | |
to log into MySQL without having to have a user account created for | |
them. This is intended only for testing, and to make the installation | |
go a bit smoother. You should remove them before moving into a | |
production environment. | |
// 提问是否移除匿名用户访问,回车确认 | |
Remove anonymous users? [Y/n] | |
... Success! | |
Normally, root should only be allowed to connect from 'localhost'. This | |
ensures that someone cannot guess at the root password from the network. | |
// 提问是否禁用 root 帐户远程登录,回车确认 | |
Disallow root login remotely? [Y/n] | |
... Success! | |
By default, MySQL comes with a database named 'test' that anyone can | |
access. This is also intended only for testing, and should be removed | |
before moving into a production environment. | |
// 提问是否移除 test 数据库,回车确认 | |
Remove test database and access to it? [Y/n] | |
- Dropping test database... | |
... Success! | |
- Removing privileges on test database... | |
... Success! | |
Reloading the privilege tables will ensure that all changes made so far | |
will take effect immediately. | |
// 重新加载,回车确认,配置完成! | |
Reload privilege tables now? [Y/n] | |
... Success! | |
All done! If you've completed all of the above steps, your MySQL | |
installation should now be secure. | |
Thanks for using MySQL! | |
// 快快登录 MySQL 试试吧! | |
mysql -u root -p |
安装 Nginx
// 查看 yum 上的 Nginx 包的版本是 1.6 的比较老 | |
yum info nginx | |
// 根据 Nginx 官方的文档,安装最新的稳定版本 | |
// 新建配置文件,命令如下: | |
vi /etc/yum.repos.d/nginx.repo | |
// 文件内容: | |
[ | ]|
name=nginx repo | |
baseurl=http://nginx.org/packages/centos/7/$basearch/ | |
gpgcheck=0 | |
enabled=1 | |
// :wq 保存 | |
// 再次查看 Nginx 版本是 1.8 | |
yum info nginx | |
// OK,开始安装 | |
yum install nginx | |
// 启动 Nginx | |
/usr/sbin/nginx -c /etc/nginx/nginx.conf |
Nginx 服务安装配置完毕,更多的 Nginx 命令如下:
// 重新加载配置 | |
/usr/sbin/nginx -s reload | |
// 停止服务 | |
/usr/sbin/nginx -s stop | |
// 验证配置文件 | |
/usr/sbin/nginx -t -c /etc/nginx/nginx.conf |
OK,现在我们的服务器上该有的服务都有了,生产环境快速搭建——分分钟搞定!本次内容介绍完毕,请小伙伴们自己尝试吧,欢迎交流!
更多 Tomcat 相关教程见以下内容:
CentOS 6.6 下安装配置 Tomcat 环境 http://www.linuxidc.com/Linux/2015-08/122234.htm
RedHat Linux 5.5 安装 JDK+Tomcat 并部署 Java 项目 http://www.linuxidc.com/Linux/2015-02/113528.htm
Tomcat 权威指南(第二版)(中英高清 PDF 版 + 带书签) http://www.linuxidc.com/Linux/2015-02/113062.htm
Tomcat 安全配置与性能优化 http://www.linuxidc.com/Linux/2015-02/113060.htm
Linux 下使用 Xshell 查看 Tomcat 实时日志中文乱码解决方案 http://www.linuxidc.com/Linux/2015-01/112395.htm
CentOS 64-bit 下安装 JDK 和 Tomcat 并设置 Tomcat 开机启动操作步骤 http://www.linuxidc.com/Linux/2015-01/111485.htm
CentOS 6.5 下安装 Tomcat http://www.linuxidc.com/Linux/2015-01/111415.htm
Tomcat 的详细介绍:请点这里
Tomcat 的下载地址:请点这里
更多 CentOS 相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14
本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-10/124411.htm
