服务器集成环境搭建

 从零开始模拟搭建项目的服务器环境及运行环境,所有操作在本地VMware虚拟机上完成,系统使用RedHatEnterpriseLinux6的ISO。

1、安装yum源

由于redhat6.5的yum功能是需要注册费用的,所以自带的yum并不可用,想要使用免费的yum,可以用Centos6的yum源,配置自己的yum源。(可以先用yum list检查yum源是否可用,如果出现很多安装包,说明可用,则可以跳过这一步,如果报错说明不可以)

① 查看已安装的yum包:rpm -qa|grep yum

② 卸载yum软件包:rpm -qa|grep yum|xargs rpm -e --nodeps

③ 下载yum安装文件(注意机器是32位还是64位的):

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/python-urlgrabber-3.9.1-11.el6.noarch.rpm
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-3.2.29-81.el6.centos.noarch.rpm
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm

④ 安装yum:

rpm -ivh python-urlgrabber-3.9.1-11.el6.noarch.rpm
rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm
rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
rpm -ivh yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm yum-3.2.29-81.el6.centos.noarch.rpm (这两个要一起安装,有依赖关系)

⑤ 更改成163的yum源:

进入源目录:cd /etc/yum.repos.d/

下载163源:wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

把文件里面的$releasever全部替换为版本号6:sed -i 's#$releasever#6#g' CentOS6-Base-163.repo

⑥ 清除原有缓存:yum clean all

⑦ 重建缓存,以提高搜索安装软件的速度:yum makecache

⑧ 更新系统:yum update

⑨ gcc等环境安装,后续有些软件安装需要这些基础环境

gcc安装:yum install gcc-c++
PCRE pcre-devel 安装:yum install -y pcre pcre-devel
zlib 安装:yum install -y zlib zlib-devel
OpenSSL 安装:yum install -y openssl openssl-devel

2、JDK安装

① 由于jdk下载需要接受条款的原因,所以下载后使用FlashFXP从本地上传到服务器。

② 进入/usr/local/src,解压jdk:tar -zxvf jdk-8u172-linux-x64.tar.gz

③ 将解压的jdk移动到/usr/local/:mv jdk1.8.0_172 /usr/local/

④ 配置环境变量:

$ vim /etc/profile

在最后添加如下环境变量:

export JAVA_HOME=/usr/local/jdk1.8.0_172
export JRE_HOME=/usr/local/jdk1.8.0_172/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

保存退出后输入命令使配置生效:source /etc/profile

⑤ 验证jdk:java –version

3、Tomcat安装

① 准备tomcat:

下载:wget  http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.30/bin/apache-tomcat-8.5.30.tar.gz

解压:tar –zxvf apache-tomcat-8.5.30.tar.gz

将tomcat复制一份到/local/src/下,作为项目的服务器:cp -r apache-tomcat-8.5.30 /usr/src/tomcat-ljz

② 修改配置:

修改/conf/server.xml,在8080端口Connector增加两项。

修改/conf/context.xml,增加数据源

修改/bin/catalina.sh,在开头增加如下配置

③ 进入/usr/src/tomcal-ljz/bin

启动Tomcat:./startup.sh

关闭Tomcat:./shutdown.sh

④ Linxu防火墙设置:

在/etc/sysconfig/iptables中设置允许端口:vim /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT 

重启防火墙:service iptables restart;
之后就可以从虚拟机外部访问80/8080端口了

4、Nginx安装

① 准备nginx:

下载:wget http://nginx.org/download/nginx-1.8.1.tar.gz

解压:tar -zxvf nginx-1.8.1.tar.gz

进入目录:cd nginx-1.8.1

② 配置nginx:

./configure --prefix=/usr/src/nginx --with-http_stub_status_module --with-http_ssl_module

--prefix=PATH :指定 nginx 的安装目录

--with-http_ssl_module :使用https协议模块

--with-http_stub_status_module :用来监控 Nginx 的当前状态

③ 编译安装:make  &&  make install

④ 查看nginx版本:

进入安装目录:cd /usr/src/nginx/sbin

查看版本:./nginx -v

⑤ 配置nginx.conf,进入conf目录:cd /usr/src/nginx/conf

将原始nginx.conf备份:cp  nginx.conf  nginx.conf.bak

使用nginx.conf替换/usr/src/nginx/conf/nginx.conf

创建门户网站目录:mkdir /usr/src/ljzsg_mt

检测配置文件的正确性:./nginx –t

⑥ 设置开机启动

编辑/etc/rc.local:vim /etc/rc.local

添加一行:/usr/src/nginx/sbin/nginx

之后,开机会自动启动nginx

⑦ nginx 命令

进入nginx目录:cd /usr/src/nginx/sbin

启动服务:./nginx

停止服务:./nginx –s stop

重启服务:./nginx –s reopen

重新载入配置文件:./nginx –s reload

5、Node安装

① 准备node

下载:wget  https://nodejs.org/dist/v8.9.4/node-v8.9.4-linux-x64.tar.gz

解压:tar  –zxvf  node-v8.9.4-linux-x64.tar.gz

移动到/usr/local/:mv node-v8.9.4-linux-x64 /usr/local/node-v8.9.4

② 创建软链接:

ln -s /usr/local/node-v8.9.4/bin/node /usr/local/bin/node
ln -s /usr/local/node-v8.9.4/bin/npm /usr/local/bin/npm

验证:
    node -v
    npm -v

6、Redis安装

① 准备Redis

下载:wget http://download.redis.io/releases/redis-4.0.6.tar.gz

解压:tar -zxvf redis-4.0.6.tar.gz

移动到/usr/local/下:mv redis-4.0.6 /usr/local/ redis

进入目录:cd /usr/local/redis

② 编译:make

③ 修改配置文件:vim redis.conf

将redis设置为守护进程,不然启动时会一直占着终端
daemonize  yes

关闭守护模式,否则外部访问不了redis,正式环境可不改.
protected-mode  no

注释掉bind,否则其它地址无法访问redis

④ 设置开机启动

编辑/etc/rc.local:vim /etc/rc.local

添加一行:/usr/local/redis/src/redis-server  /usr/local/redis/redis.conf

之后,开机会自动启动redis

⑤ 启动/停止服务:

进入redis目录:cd /usr/local/redis/src

启动服务:./redis-server ../redis.conf

停止服务:./redis-cli shutdown

7、Git安装

① 准备Git

下载:wget https://www.kernel.org/pub/software/scm/git/git-2.9.4.tar.gz

解压:tar -zxvf git-2.9.4.tar.gz

② 安装编译Git时需要的包

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

yum install gcc perl-ExtUtils-MakeMaker

③ 删除已有的git:yum remove git

④ 编译安装

cd /usr/local/src/git-2.9.4

安装到/usr/local/git目录:./configure --prefix=/usr/local/git

编译安装:make && make install

⑤ 创建软链并测试

ln -s /usr/local/git/bin/*  /usr/local/bin/

测试git:git --version

8、Maven安装

① 准备maven

下载:wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz

解压:tar -zxvf apache-maven-3.3.9-bin.tar.gz

移动到/usr/local:mv apache-maven-3.3.9 /usr/local/maven3

② 添加环境变量

vim /etc/profile

在最后添加如下两行:
export MAVEN_HOME=/usr/local/maven3
export PATH=$MAVEN_HOME/bin:$PATH

使环境变量生效:source /etc/profile

③ 检验maven:mvn -v

9、Jenkins安装

将jenkins war包放入Tomcat中托管运行,可在https://jenkins.io/download/下载war包。

① 准备Jenkins Tomcat容器

复制一份tomcat:mv /usr/local/src/apache-tomcat-8.5.30 /usr/src/tomcat-jenkins-8090

设置端口为8090:
         cd tomcat-jenkins-8090/conf/
         vim server.xml

修改端口,避免和ljzsg服务器的端口冲突

开放8090端口

vim /etc/sysconfig/iptables

添加:-A INPUT -m state --state NEW -m tcp -p tcp --dport 8090 -j ACCEPT

重启防火墙:service iptables restart

② 将jenkins war包放入webapps目录下

③ 启动tomcat:

cd tomcat-jenkins-8090/bin/

./startup.sh

10、部署服务

① 访问jenkins网站做一些配置:http://192.168.0.0:8090/jenkins/

显示解锁jenkins页面:第一次运行Jenkins时,会在~目录下创建一个.jenkins的隐藏文件夹来存储Jenkins的配置文件和插件库,初始化的用户名和密码也在里边,登录时需要用到。从/root/.jenkins/secrets/initialAdminPassword复制密码并填入继续。

② 登录成功之后跳转到插件选择页面。Jenkins作为一个框架,里边很多功能的集成是基于插件的,比如git插件可以从git获取源码,maven插件可以执行maven命令等等。我们选择左边的,自动安装可支持的插件。重要插件安装失败可以重试几次,或者手动安装。

③ 创建管理员账户

④ 创建任务

选择创建一个新任务,输入项目名称,勾选“构建一个自由风格的软件项目”然后点击确定,进入详细配置页面。

⑤ General配置

⑥ 选择git进行源码管理,输入远程仓库地址,点击Add添加git账号。

⑦ 构建触发器

构建触发器是指在什么条件下自动触发构建,这里我们不配置,手动触发构建。

⑧ 构建配置

选择Excecute shell

添加如下命令,打包项目:

LJZSG_HOME="/root/.jenkins/workspace/ljzsg_mt"
cd $LJZSG_HOME
mvn clean package

构建完成之后,将war包复制到tomcat下,并重启项目

# LJZSG根目录
LJZSG_HOME="/root/.jenkins/workspace/ljzsg_mt"
#Tomcat根目录
TOMCAT_HOME="/usr/src/tomcat-ljz"
#端口
TOMCAT_PORT=8080
#TOMCAT_PID用于检测Tomcat是否在运行
TOMCAT_PID="`lsof -n -P -t -i :${TOMCAT_PORT}`"

#如果Tomcat还在运行
warRootPath="${TOMCAT_HOME}/webapps/ROOT/"
warPath="${TOMCAT_HOME}/webapps/core/"
warFile="${TOMCAT_HOME}/webapps/core.war"

#如果文件或者文件夹存在则删除
deleteWhenExist(){
 if [ -e $1 ]; then
  rm -rf $1
 fi
}

#如果Tomcat在运行,干掉服务
if [ -n "$TOMCAT_PID" ]; then
 kill -9 $TOMCAT_PID
fi

deleteWhenExist ${warRootPath}
deleteWhenExist ${warPath}
deleteWhenExist ${warFile}

#拷贝新编译的包到Tomcat
cp $LJZSG_HOME/core/target/core.war ${TOMCAT_HOME}/webapps/
#启动Tomcat
${TOMCAT_HOME}/bin/startup.sh

⑨ 构建项目

第一次会下载maven插件和项目依赖的包,会比较慢,可手动上传jar包到maven仓库。

11、其它

以后有的时候再添加

 

---

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


fastjson2 是 fastjson 项目的重要升级,目标是为下一个十年提供一个高性能的 JSON 库,同一套 API 支持JSON/JSONB 两种协议,JSONPath 是一等公民,支持全量解析和部分解析,支持 Java 服务端、客户端Android、大数据场景。 fastjson 2 代码
博文目录文章目录问题描述解决方案问题描述阿里云ECS, 系统切换为 Aliyun Linux 2.1903 LTS 64位 后, SSH可以连接, SFTP无法连接, 端口 22 已添加到阿里云ECS网络安全组表现为 Xshell 可以连接, Xftp 使用 SFTP 协议无法连接, 一片空白, 很长时间也不报错提示, 鼠标挪动的时候显示为圆圈(等待响应)解决方案将 /etc/ssh/sshd_config 中的Subsystem sftp /usr/libexec/opens
博文目录文章目录创建项目创建代码仓库完成工程代码并提交推送到仓库application.propertiespom.xml创建构建计划设置流程配置阶段说明 测试阶段说明 部署定义远程服务器信息远程服务器鉴权创建 SSH 密钥录入凭据在 持续集成 的 构建脚本 中做 SSH 鉴权操作远程服务器设置触发规则设置变量与缓存CODING 持续集成 帮助文档当下 DevOps, CI/CD 等概念非常火, 我自己也想试试, 碰巧知道 CODING.NET 免费提供了这个能力, 所以来尝试一把, 好在最终有
下载CentOS官网CentOS下载CentOS-7-x86_64-DVD-2003.isoCentOS-7-x86_64-DVD-2003.iso安装
博文目录文章目录服务端客户端测试效果服务端配置到 nginx 反向代理FRP Releases使用frp进行内网穿透FRP 示例FRP 实例 通过自定义域名访问内网的 Web 服务FRP 参考 服务端配置FRP Linux Server ReleaseFRP Windows Client Release服务端在 linux 上执行 arch, 结果如果是 [X86_64] 即可选择 [linux amd64] 版本的 Release 包wget https://github.co
博文目录文章目录环境下载安装配置使用环境阿里云ECS(Aliyun Linux 2.1903 LTS 64位)下载https://www.oracle.com/java/technologies/oracle-java-archive-downloads.htmlJava SE 8 (8u202 and earlier) 可以用于商业Java SE 8 (8u211 and later) 不可以用于商业安装tar -zxvf jdk-8u202-linux-x64.tar.gz 得到
博文目录文章目录环境下载安装配置使用环境阿里云ECS(Aliyun Linux 2.1903 LTS 64位)下载https://maven.apache.org/download.cgi安装tar -zxvf apache-maven-3.6.3-bin.tar.gz 得到解压包配置在 /root/.bashrc 文件内添加如下内容export MAVEN_HOME=/mrathena/application/maven-3.6.3export PATH=$JAVA_HOME/
博文目录文章目录嵩山版(2020.08.03)阿里开发手册官网嵩山版(2020.08.03)手册的详细版叫做 码出高效
博文目录文章目录EncodingFontMavenGradleOtherPluginsEncodingsetting 搜索 encodFile | Settings | Editor | File Encodings, 3个 UTF-8File | Settings | Tools | SSH Terminal, 1个 UTF-8Fontsetting 搜索 fontFile | Settings | Editor | FontMavensetting 搜索 mavenFile |
博文目录文章目录环境下载安装配置使用参考环境阿里云ECS(Aliyun Linux 2.1903 LTS 64位)下载http://nginx.org/en/download.htmlhttp://nginx.org/download/nginx-1.18.0.tar.gz选择稳定版(Stable version)下载即可, 分 linux 和 windows 两种, linux 版下载的是源码, 需要自行编译安装tar -zxvf nginx-1.18.0.tar.gz 得到解压包
博文目录文章目录单密钥方式多密钥方式默认生成的 rsa密钥位置在 ~/.ssh, 如 C:Usersmrathena.ssh. 各代码托管平台是可以使用同一个SSH密钥的, 这样最方便, 但是为了更安全也可以配置在不同的平台使用不同的密钥单密钥方式cmd 执行命令 ssh-keygen -t rsa -b 4096 -C "generic", -t type rsa, -b 位数 4096位, 如果不用 -C 指定邮箱, 则会生成一个默认的注释, 该注释无关紧要, 不影响验证选项全部默认(
博文目录文章目录环境下载安装配置使用参考环境阿里云ECS(Aliyun Linux 2.1903 LTS 64位)下载https://github.com/git/git/releaseshttps://codeload.github.com/git/git/tar.gz/v2.28.0, 下载之后可以重命名为 git-2.28.0.tar.gz安装tar -zxvf apache-maven-3.6.3-bin.tar.gz 得到解压包make prefix=/mrathena/a
博文目录文章目录环境下载安装简单配置汉化皮肤JDKMaven简单使用环境阿里云ECS(Aliyun Linux 2.1903 LTS 64位)下载Jenkins 官网, 支持选择中文https://www.jenkins.io/选择 LTS 长期支持版的最新版下载, 这里是 2.235.3 LTS, Generic Java package (.war) 是 java war 包, 可以通过 java -jar jenkins.war 直接运行官网下载 wget http://mir
原因分析 是因为使用了pycharm的版本的问题。并不是flask框架本身的问题(不管你是如何设置的flask配置,通过加载config也好,还是通过run的时候传入形参也好,均不影响) 可以很明显的
背景 兜兜转转以为做测试不用接触这么多编程,结果不仅要接触 py,还要接触 java,还有 elixir,更有 Lua,啊 我绝望了 太久没玩 Java,连导入项目都不会了...特此记录一下侮辱性的时
1. 安装制作工具 mkisofs 2. Linux 操作系统镜像 iso 打包 3. 校验并写入 md5 值
最近在学习 MySQL 的 bin-log 时候考虑到数据备份的问题,突然想到如果能将数据通过 Linux 命令行方式备份到百度网盘,那是一件多么牛逼的事情。百度网盘有免费的 2TB 存储空间,而且有
作为一名开发者,熟悉使用 git 代码管理工具是一项必备的基本技能。git 相较 SVN 而言,其优点不言而喻。git 的功能非常强大,其包括的操作命令也非常的多,但是从实用性而言,很多命令可能我们一
kickstart 能实现 linux 系统的自动化安装,需要设置 ks.cfg 文件,而这个 ks.cfg 文件的生成最好使用 system-config-kickstart 工具生成,比较准确,也
介绍 GitBook是一个基于Node.js的命令行工具,可使用 Github/Git和Markdown来制作精美的电子书,GitBook 并非关 Git的教程。 导出格式有PDF、HTML等,需要添