我们遇上了云的时代,系统运维比以前任何一个时代都简单直接。
将自己最近阿里云服务器环境部署的步骤记录下来,分享给大家,也是自己做个记录
OS信息:
Linux version 2.6.32-696.3.2.el6.x86_64 (mockbuild@c1bl.rdu2.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) ) #1 SMP Tue Jun 20 01:26:55 UTC 2017
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 6.8 (Final)
Release: 6.8
Codename: Final
SSH客户端:Xshell5
- 目录
- 系统初始化
- jdk1.8
- tomcat (运行应用)
- mysql(数据库)
- git(远程checkout代码)
- 阿里云code(代码仓库管理)
- maven(编译打包)
- nginx(反向代理)
系统初始化
#创建用户,-m创建主目录,-p指定密码
useradd lucas -p serect -m
#添加到sudoer,该命令比vim /etc/sudoers要方便
visudo
#找到 root ALL=(ALL) ALL 一行之后yyp,复制一行,将root改成自己的用户名,若sudoer时不需要密码怎写上前缀NOPASSWD:,注意是WD不是WORD
#修改完成后为
## Allow root to run any commands anywhere
#root ALL=(ALL) ALL
#lucas ALL=(ALL) NOPASSWD:ALL
重新在xshell中建连接,用新建的用户lucas连接上系统,继续以下步骤
jdk1.8
下载jdk的tarball(下载见文章后附分享),使用xshell自带的上传工具(或者可以直接安装sudo yum install lrzsz
用rz也可以)上传到tmp目录下,我在home目录下建了以下目录
/home/lucas
├── apps
├── code
└── tmp
解压安装
sudo mkdir /user/java
sudo cp ~/tmp/jdk-8u144-linux-x64.tar.gz .
sudo tar -zxvf jdk-8u144-linux-x64.tar.gz
打开/etc/profile(vim /etc/profile),加入如下内容
JAVA_HOME=/usr/java/jdk1.8.0_144
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
sudo source /etc/profile
使之立即生效
java -version
检查是否生效
tomcat
下载tomcat的tarball,上传到 tmp目录之后再解压安装之
cp tmp/apache-tomcat-8.0.36.tar.gz apps/
cd apps/
tar -zxf apache-tomcat-8.0.36.tar.gz
#直接启动
cd apache-tomcat-8.0.36
./bin/catalina.sh start
#查看日志
tail -f logs/catalina.out
将需要部署的war拷贝到tomcat的webapps目录下,然后重启tomcat即可访问
mysql
# 安装mysql
sudo yum install -y mysql-server mysql mysql-deve
# 检查安装
rpm -qi mysql-server
我的显示如下,安装成功
Name : mysql-server Relocations: (not relocatable)
Version : 5.1.73 Vendor: CentOS
Release : 8.el6_8 Build Date: Fri 27 Jan 2017 06:25:43 AM CST
Install Date: Tue 12 Sep 2017 10:46:25 AM CST Build Host: c1bm.rdu2.centos.org
Group : Applications/Databases Source RPM: mysql-5.1.73-8.el6_8.src.rpm
Size : 25884131 License: GPLv2 with exceptions
Signature : RSA/SHA1, Fri 27 Jan 2017 06:35:28 AM CST, Key ID 0946fca2c105b9de
Packager : CentOS BuildSystem http://bugs.centos.org
URL : http://www.mysql.com
Summary : The MySQL server and related files
Description :
MySQL is a multi-user, multi-threaded SQL database server. MySQL is a
client/server implementation consisting of a server daemon (mysqld)
and many different client programs and libraries. This package contains
the MySQL server and some accompanying files and directories.
然后启动mysql服务,第一次启动需要一些初始化动作
# 启动服务
sudo service mysqld start
# 重启服务
sudo service mysqld restart
#设置root密码
mysqladmin -u root password '{您的密码}'
之后用root账户登入mysql,根据提示输入密码即可操作数据库了
mysql -u root -p
git
centos安装git还是很简单
sudo yum install git
#之后就可以git clone 了
git clone git@code.aliyun.com:aaa/bbb.git
服务器上的git只用作检出代码之后再打包,并不提交。
阿里云code
部署环境都搭建好了,总是通过war上传的方式来部署还是有点low的,自然想到了版本管理工具了。当然选择git了。第一反应是码云,不过想想阿里云估计也有相应的托管服务。果然,https://code.aliyun.com。
git仓库的使用方式都差不多,先建立仓库,之后用ssh-keygen生成一个sshkey到 ~/.ssh/id_rsa.pub,添加到仓库之后,就可以在本地服务器上上传代码了。
windows安装git,可以考虑msysgit 或者tortoisegit,本人使用的是cygwin的变种babun
以下为添加readme.md的操作
git clone git@code.aliyun.com:aaa/bbb.git
cd ssm
touch readme.md
vim readme.md
git add readme.md
git commit -m '添加readme'
git push -u origin master
使用类似的方式将代码上传到仓库,再去服务器上git pull下来就可以了。
maven
maven可以直接将代码构建成部署包,所以也是必备的。参考
cd ~/tmp
#下载tarball
wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz
#复制到/usr/local/,并解压
sudo mv apache-maven-3.5.0-bin.tar.gz /usr/local/
cd /usr/local/
sudo tar zxf apache-maven-3.5.0-bin.tar.gz
sudo rm apache-maven-3.5.0-bin.tar.gz
需要配置下maven的镜像,使用墙内阿里云镜像,否则去墙外*仓库拉包龟速。
cd apache-maven-3.5.0/
sudo vim conf/settings.xml
找到<mirrors>标签,加入以下配置
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
配置/etc/profile,加入maven的环境变量
#maven
export M2_HOME=/usr/local/apache-maven-3.5.0/
export PATH=$PATH:$M2_HOME/bin
退出之后
#使配置立即生效
source /etc/profile
maven -version
看到类似如下界面即表示成功。
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-04T03:39:06+08:00)
Maven home: /usr/local/apache-maven-3.5.0
Java version: 1.8.0_144, vendor: Oracle Corporation
Java home: /usr/java/jdk1.8.0_144/jre
Default locale: en_US, platform encoding: UTF-8
OS name: “linux”, version: “2.6.32-696.3.2.el6.x86_64”, arch: “amd64”, family: “unix”
之后可以去项目目录下执行mvn clean package
打包项目,再拷贝到tomcat目录下就可以部署了。当然第一次执行是很慢的,各种包拉一遍。
Nginx(反向代理)
部署多应用时,需要Nginx做反向代理。所谓反向代理,简单来说就是把服务器给代理了,用户访问该ng而非直接访问应用服务器。可以根据用户访问的域名信息转发到相应的服务器。
首先当然是要安装ng。
这里偷懒,参考博客文章,使用yum安装了ng
#安装
sudo rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
sudo yum install nginx
# 启动nginx
sudo service nginx start
在本地浏览器打开ip地址,可以看见就表示成功了
Welcome to nginx!
If you see this page, the nginx web server is successfully installed and working. Further configuration is required.
For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.
Thank you for using nginx.
附录
文章中涉及到的软件:
链接: https://pan.baidu.com/s/1kVss1jp 密码: tfb2
参考文章(感谢各位的分享)
创建用户 http://www.cnblogs.com/clicli/p/5943788.html
sudoer配置 http://blog.csdn.net/newairzhang/article/details/7715378
安装jdk http://blog.csdn.net/licongcong_0224/article/details/12756959/
mysql安装参考 http://www.linuxidc.com/Linux/2015-07/120234.htm
maven安装参考 http://blog.csdn.net/clementad/article/details/46898013
用Yum安装ng
http://shmily2038.iteye.com/blog/1860063