# Linux部署

## 安装lrzsz
1. 安装lrzsz: yum -y install lrzsz
2. 进入tmp目录
3. rz 上传安装文件
jdk-8u65-linux-x64.tar.gz
apache-tomcat-8.0.28.tar.gz
oracle-xe-11.2.0-1.0.x86_64.rpm.zip
redis-3.2.4.tar.gz
apache-activemq-5.14.0-bin.tar.gz
elasticsearch-2.4.0.tar.gz

## 安装JDK
1. 解压 JDK: tar -zxvf jdk-8u65-linux-x64.tar.gz .
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压

2. 将安装目录移动到 /usr下
mv ./jdk1.8.0_65/ /usr/

3. 创建链接简化目录操作
ln -s /usr/jdk1.8.0_65/ /usr/jdk

4. 编辑环境变量path 、JAVA_HOME
vi /etc/profile

在文件末尾添加
JAVA_HOME=/usr/jdk
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH

:wq 退出
重启 shutdown -r now (source /etc/profile )

```
dd 删除行 , i 添加内容 , x删除当前字符
:wq 保存
:q! 不保存
```

## 安装Tomcat服务器
1. 解压tomcat到opt目录
tar -zxvf apache-tomcat-8.0.28.tar.gz -C /opt
2. 创建链接简化目录操作
ln -s /opt/apache-tomcat-8.0.28 /opt/tomcat
3. 启动tomcat
/opt/tomcat/bin/start.sh
4. 自动开机启动

```
1、编辑startup.sh
#chkconfig: 2345 80 90
#description:tomcat auto start
#processname: tomcat

2、编辑catalina.sh
./export 搜索
export JAVA_HOME = /usr/jdk
export CATALINA_BASE=/opt/tomcat
export CATALINA_HOME=/opt/tomcat
export CATALINA_TMPDIR=/opt/tomcat/temp

3、link start.sh 到 /etc/init.d/tomcat
ln -s /opt/tomcat/bin/startup.sh /etc/init.d/tomcat

3、添加服务
chkconfig --add tomcat
chkconfig tomcat on
```

## 安装Oracle数据库
1. 解压zip安装包: unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
2. 进入 Disk1,安装oracle11g xe
rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm
备注: 卸载 rpm -e --nodeps oracle-xe-11.2.0-1.0.x86_64
3. /etc/init.d/oracle-xe文件中是有包含Oracle环境变量的一些参数的,我们只需要从中复制中其中的 ORALCE_HOME,ORALCE_BASE,PATH,ORALCE_SID 到 /etc/profile 中
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export ORACLE_BASE=/u01/app/oracle
export PATH=$ORACLE_HOME/bin:$PATH
LSNR=$ORACLE_HOME/bin/lsnrctl
SQLPLUS=$ORACLE_HOME/bin/sqlplus
ORACLE_OWNER=oracle
4. :wq 保存退出, 输入命令: source /etc/profile
5. 完成数据库配置 /etc/init.d/oracle-xe configure
6. 自动开机启动 chkconfig oracle-xe on

错误 :ORA-00130: invalid listener address '(ADDRESS=(PROTOCOL=TCP)(HOST=host-10-0-0-10)(PORT=1521))'
解决: 配置/etc/hosts 文件
127.0.0.1 host-10-0-0-10

## 创建oracle账号 bos 、crm
- 创建bos、crm账号

- bos、crm 账户锁定解决
alter user bos account unlock;
alter user bos identified by bos;

alter user crm account unlock;
alter user crm identified by crm;

## 安装redis
1. 安装gcc
yum install -y gcc g++ gcc-c++ make
2. 下载解压 redis
wget http://download.redis.io/releases/redis-3.0.0.tar.gz
tar zxvf redis-3.0.0.tar.gz
cd redis-3.0.0
3. 进入redis目录,执行make
make MALLOC=libc
4. 启动 关闭 redis
- 启动redis
src/redis-server &
- 关闭redis
src/redis-cli shutdown
5. redis 开机启动
创建链接 ln -s /usr/redis.3.0.0 /usr/redis
修改 redis.config
```
daemonize yes
```
vi /etc/init.d/redis

```
# chkconfig: 2345 10 90
# description: Start and Stop redis

PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=6379
EXEC=/usr/redis/src/redis-server
REDIS_CLI=/usr/redis/src/redis-cli

PIDFILE=/var/run/redis.pid
CONF="/use/redis/redis.conf"
AUTH="1234"

case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed."
else
echo "Starting Redis server..."
$EXEC $CONF
fi
if [ "$?"="0" ]
then
echo "Redis is running..."
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE exists, process is not running."
else
PID=$(cat $PIDFILE)
echo "Stopping..."
$REDIS_CLI -p $REDISPORT SHUTDOWN
sleep 2
while [ -x $PIDFILE ]
do
echo "Waiting for Redis to shutdown..."
sleep 1
done
echo "Redis stopped"
fi
;;
restart|force-reload)
${0} stop
${0} start
;;
*)
echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
exit 1
esac
```
6、 启动redis 关闭redis 服务
- 尝试启动或停止redis
service redis start
service redis stop
- 开启服务自启动
chkconfig redis on

## 安装activeMQ
1. 解压 activeMQ
tar -zxvf apache-activemq-5.14.0-bin.tar.gz
2. 复制activeMQ 到 usr目录
mv apache-activemq-5.14.0 /usr
3. 进入activeMQ的bin目录
./activemq start
4. 查看端口 是否启动
netstat -an | grep 61616
5. 创建链接 ln -s /usr/apache-activemq-5.14.0/ /usr/activemq
6. 复制启动文件 cp /usr/activemq/bin/activemq /etc/init.d
7. 编辑 /etc/init.d/activemq

在第二行添加

```
#### BEGIN INIT INFO
# Provides: activemq
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 6
# chkconfig: 2345 64 36
# Short-Description: ActiveMQ server
### END INIT INFO
```

在最后一个#后添加

```
export JAVA_HOME=/usr/jdk
ACTIVEMQ_HOME=/usr/activemq
```
8. 添加到系统服务
chkconfig --add activemq
chkconfig activemq on

## 安装elasticSearch
1. 解压 tar -zxvf elasticsearch-2.4.0.tar.gz
2. 移动到usr目录 mv elasticsearch-2.4.0/ /usr/
3. 改名为elasticsearch: mv elasticsearch-2.4.0 elasticsearch
4. 运行elasticSearch
/usr/elasticsearch/bin/elasticsearch -d
`使用root运行 -Des.insecure.allow.root=true`
5. 外网访问
修改配置文件 config/elasticsearch.yml
network.host: 0.0.0.0
6. 安装 es head插件
进入bin目录
./plugin install mobz/elasticsearch-head
7. 安装ik分词器
rz 上传 elasticsearch-analysis-ik-2.x.zip
- 进入target/release目录
拷贝文件到 %es%/plugins/analysis-ik
`cp -r ./ /usr/elasticsearch/plugins/analysis-ik/`
- 进入target/release/config 目录
将所有配置文件,复制 %es%/config 下
`cp -r ./ /usr/elasticsearch/config/ `
- 配置elasticsearch.yml
加入 index.analysis.analyzer.ik.type: "ik"
- 访问
http://ip:9200/_analyze?analyzer=ik&pretty=true&text=我是中国人

8. 服务自启动
进入/etc/init.d 编写脚本
vi elasticsearch

```
#!/bin/bash
#chkconfig:2345 80 05
#description:elasticsearch service
RETVAL=0
start(){
export JAVA_HOME=/usr/jdk
echo -n "start elasticsearch"
cd /usr/elasticsearch/
bin/elasticsearch -d -Des.insecure.allow.root=true
}
stop(){
echo "elasticsearch service is stoped..."
}
case $1 in
start)
start
;;
stop)
stop
;;
esac
exit $RETVAL
```
8. 添加到系统服务
chkconfig --add elasticsearch
chkconfig elasticsearch on

## Oracle 错误
- ORA-01089: immediate shutdown in progress - no operations are permitted
今天shutdown immediate关数据库的时候出现ORA-01089: immediate shutdown in progress - no operations are permitted的错误。
ps -ef|grep ora_发现oracle的各个后台进程仍然在运行着,说明数据库没有关闭成功。
解决方法如下:
先exit退出,重新登录:
[oracle@localhost trace]$ sqlplus /nolog
SQL>conn /as sysdba
Connected to an idle instance.
接着,使用shutdown abort强制关闭数据库:
SQL>shutdown abort;
ORACLE instance shut down.
最后,使用startup force打开数据库:
SQL>startup force;
ORACLE instance started.

Total System Global Area 849530880 bytes
Fixed Size 1339824 bytes
Variable Size 641732176 bytes
Database Buffers 201326592 bytes
Redo Buffers 5132288 bytes
Database mounted.
Database opened.

打开数据库之后,再次使用shutdown immediate关闭数据库:
SQL>shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
问题解决。

- ORA-00020:maximum number of processes (150) exceeded 错误解决方法
SQL> conn sys/123456 as sysdba ;
SQL> show parameter processes;
NAME TYPE VALUE
--
aq_tm_processes integer 1
db_writer_processes integer 1
job_queue_processes integer 10
log_archive_max_processes integer 1
processes integer 150

一看怎么已经改了,依然是150,后来通过网上看到,单纯的改配置文件无效,而后就通过以下sql进行了修改

SQL> alter system set processes=500 scope = spfile;

done;

SQL> create pfile from spfile;

done;

这里执行时间有可能会提示权限不足,这个时间用dba权限即可

然后重启数据库,再次show,已经修改成了500

Linux部署笔记分享的更多相关文章

  1. Linux 学习笔记分享: Linux 用户组的权限: drwx------ 700权限(d 目录 ,r=4,w=2,x=1:rwx=7;---=0;---=0)

    Linux 用户组的权限: drwx------ 700权限(d 目录 ,r=4,w=2,x=1:rwx=7;---=0;---=0) 1 1 Linux 用户组的权限: drwx------ 700 ...

  2. Nextcloud私有云盘在Centos7下的部署笔记

    搭建个人云存储一般会想到ownCloud,堪称是自建云存储服务的经典.而Nextcloud是ownCloud原开发团队打造的号称是“下一代”存储.初一看觉得“口气”不小,刚推出来就重新“定义”了Clo ...

  3. Linux 部署ASP.NET SQLite 应用 的坎坷之旅 附demo及源码

    Linux 部署ASP.NET SQLite 应用 的坎坷之旅.文章底部 附示例代码. 有一台闲置的Linux VPS,尝试着部署一下.NET 程序,结果就踏上了坑之路,不过最后算是完美解决问题,遂记 ...

  4. Linux 入门笔记

    一开始对linux总有些抵触,黑黑的命令框不知道如何下手,这次因为工作交接的缘故需要负责之前同事的Node后端部分,node,redis这些都是部署在Linux上的,看了几次运维的同学噼里啪啦的敲命令 ...

  5. Linux~学习笔记目录索引

    回到占占推荐博客索引 本篇文章是对自己学习Linux及在它的环境下部署工具的一个总结,以方便自己查阅,也给他人一个帮助,本文章同时会不断的更新,欢迎大家订阅! 本目录包括的内容会包括linux基础命令 ...

  6. RocketMQ 简单梳理 及 集群部署笔记【转】

    一.RocketMQ 基础知识介绍Apache RocketMQ是阿里开源的一款高性能.高吞吐量.队列模型的消息中间件的分布式消息中间件. 上图是一个典型的消息中间件收发消息的模型,RocketMQ也 ...

  7. C#面试题(转载) SQL Server 数据库基础笔记分享(下) SQL Server 数据库基础笔记分享(上) Asp.Net MVC4中的全局过滤器 C#语法——泛型的多种应用

    C#面试题(转载) 原文地址:100道C#面试题(.net开发人员必备)  https://blog.csdn.net/u013519551/article/details/51220841 1. . ...

  8. ASP.NET Linux部署(2) - MS Owin + WebApi + Mono + Jexus

    ASP.NET Linux部署(2) - MS Owin + WebApi + Mono + Jexus 本文承接我的上一篇博文: ASP.NET 5 Linux部署,那篇文章主要是针对最新的ASP. ...

  9. Linux内核笔记--内存管理之用户态进程内存分配

    内核版本:linux-2.6.11 Linux在加载一个可执行程序的时候做了种种复杂的工作,内存分配是其中非常重要的一环,作为一个linux程序员必然会想要知道这个过程到底是怎么样的,内核源码会告诉你 ...

随机推荐

  1. python leetcode 颠倒二进制数

    我的做法,,这个题在于必须补0 def reverseBits(n): num=32-len(bin(n)[2:]) m = bin(n)[2:][::-1] if num > 0: for i ...

  2. REST SOAP Thrift 对比

    别人的REST SOAP Thrift对比: 单项分数越高越好 项目 REST SOAP Thrift Extensibility 5 3 1 Neutrality 2 4 3 Independenc ...

  3. [R] [Johns Hopkins] R Programming -- week 4

    #Generating normal distribution (Pseudo) random number x<-rnorm(10) x x2<-rnorm(10,2,1) x2 set ...

  4. 创建一个dynamics 365 CRM online plugin (九) - Context.Depth

    让我们来看看官方文档是怎么讲的 https://docs.microsoft.com/en-us/previous-versions/dynamicscrm-2016/developers-guide ...

  5. ThinkPHP3.2 中空方法、空控制器和空模块的设置

    ThinkPHP3.2 中空方法.空控制器和空模块的设置 1.空方法设置 问题: 当你访问一个不存在的方法的时候: 如: http://localhost/test/index.php/Home/Us ...

  6. 招聘IT图书兼职作者(长期兼职)

    招聘图书兼职作者(长期兼职),本公司有十多年的计算机图书出版经验,每年出版上百本编程类图书, 和清华大学出版社 电子工业出版社 机械工业出版社都有很好的合作.你可以不用按时上线,不用天天被boss盯着 ...

  7. 如何在宿主机上执行容器里的jmap,jtack,jstat 命令获取信息(原创)

    一般情况下,我们要获取docker容器里的jvm信息只能进入容器后执行jmap,jstack,jstat 命令去获取,jstack,jstat还好,但是jmap dump的文件要拿出来,得先copy ...

  8. Python【每日一问】11

    问: 请简单说明一下以下代码的执行过程以及最终的输出结果 def fib(max): n, a, b = 0, 0, 1 while n < max: yield b a, b = b, a + ...

  9. vscode之常用快捷键

    原文章地址: vscode: Visual Studio Code 常用快捷键 官方快捷键说明:Key Bindings for Visual Studio Code 主命令框 F1 或 Ctrl+S ...

  10. 4、hello world

    package com.ourteam.firstexample; import io.netty.bootstrap.ServerBootstrap;import io.netty.channel. ...