Linux服務器應用實戰——服務環境快速搭建

摘要 基於CentOS操作系統如何快速搭建包括GIT、Maven、Tomcat、Java、MySQL和Nginx等服務環境,如何基於YMP架框腳手架工具快速創建獨立JVM的Tomcat服務

CentOS Maven YMP Tomcat Nginx


基於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 functionsif [ -f ~/.bashrc ]; then
        . ~/.bashrcfi# User specific environment and startup programsJAVA_HOME=/root/jdk1.8.0_65
MAVEN_HOME=/root/apache-maven-3.3.3PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$MAVEN_HOME/binexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8export MAVEN_OPTS=-Dfile.encoding=UTF-8export JAVA_HOMEexport MAVEN_HOMEexport PATH

保存文件後別忘記執行一下才能生效

// 執行sourcesource .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-8Apache 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-8OS 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 start        Start Catalina under JPDA debugger
  run               Start Catalina in the current window
  run -security     Start in the current window with security manager  start             Start Catalina in a separate window  start -security   Start in a separate window with security manager  stop              Stop Catalina, waiting up to 5 seconds for the process to end
  stop n            Stop Catalina, waiting up to n seconds for the process to end
  stop -force       Stop Catalina, wait up to 5 seconds and then use kill -KILL if still running  stop n -force     Stop Catalina, wait up to n seconds and then use kill -KILL if still running
  configtest        Run a basic syntax check on server.xml - check exit code for result  version           What version of 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_installationNOTE: 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 forthem.  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// 文件內容:[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/gpgcheck=0enabled=1// :wq保存// 再次查看Nginx版本是1.8yum 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,現在我們的服務器上該有的服務都有了,生產環境快速搭建——分分鐘搞定!本次內容介紹完畢,請小夥伴們自己嘗試吧,歡迎交流!

下一篇文章將重點介紹Nginx與Tomcat服務的負載均衡體驗,還有Apache Server與Tomcat的集成部署等等,敬請期待吧!


原文地址:http://my.oschina.net/robocop/blog/520152

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章