后台环境搭建

基础工具安装

autojump

 用来在目录间跳转,可以记录你最近进入的目录,在需要跳转时,只需要输入很少的信息即可跳转。比cd tab 要快很多。
安装
 不同的linux版本可以用他们自带的方式安装,由于centos安装出了一点问题,直接手动安装,下载
git clone git://github.com/joelthelion/autojump.git
遇到github clone连接不上,用小乌龟tortoise下载,在运行autojump.zsh脚本的时候,提示 `elif’ 有问题,应该是编解码不兼容。采用浏览器下载zip包,然后上传
rz -bye
解压
unzip -o
进入目录,要运行 install.py 如果没有安装python 要安装一下
yum install python
安装autojump
python install.py
完成后会提示一行sh脚本命令,让你添加到~/.bashrc,由于我使用是zsh要用到的是 ~/.autojump/share/autojump 目录下的 autojump.zsh,修改一下这行命令,然后放到 .zshrc 里面,
source .zshrc
就可以。如果提示 typeset U 不支持,就修改autojump.zsh中的对应命令,将大写的 U 改成小写的 u

zsh

zsh按照网上的安装方法是很简单的,结合oh-my-zsh用起来很方便,但是我这里遇到的问题,让我无数次的想说oh my god。因为用的centos可能是版本有问题

yum install zsh

安装的zsh不能和oh-my-zsh很好的配合,在系统启动或者运行

source .zshrc

时,提示

compinit: command not found 
command not found : comdef

在网上找了好久,多数解决的是 compaudit 的错误,貌似和我的错误并不相关。不过其中有些也给了一些思路,比如

/user/local/share/zsh

这个文件夹,我发现我是没有这个目录,所以感觉zsh安装的有问题。然后想安装源码,但是搜索引擎提供的都是 zsh 和 0h-my-zsh简直是神器之类的答案, 搞的我这种用不上的心理很不爽。搞了半天,直接搜 zsh 源码,终于在 SourceForge上面搞到了 zsh源码网址。下载后,如果愿意看,就看下README和INSTALL,如果不愿意直接

./configure
make
make install

安装完成后

source ./zshrc

对于 oh-my-zsh 即使手动安装也是很简单的,就是从github上面搞下来代码,如果是压缩的解压一下。因为我的centos不能访问github,所以浏览器下载下来源码,然后上传到centos,

unzip -o oh-my-zsh-master.zip
cp oh-my-zsh-master ~/.oh-my-zsh  
mv .zshrc .zshrcBak
cp ./oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
source ./zshrc

不用运行make, make install 这类的命令,直接就可以安装好。然后想要修改主题什么的就看自己的喜欢了

最好不要修改默认的shell工具,遇到了修改shell后无法登陆的情况,在改回bash后,又研究了一下 PS1 控制命令行的提示,拼接了一个类似于zsh的提示,命令如下

 export PS1="\[\e[36m\]┌─[\u@\h] - [\t] - [\w] \n└─[$]\[\e[m\]"

参考

LNMP 搭建

openresty

 openresty是对nginx的一种扩展,通过在nginx内部运行web的方式来提高效率。可以理解openresty是对nginx的扩展。参考博客
利用lua可以对nginx的下列过程进行干预:
利用lua对nginx的运行过程进行干预
 centos上面使用yum安装openresty出了一点问题,采用了手动安装
下载页下载到windows然后
rz -bye
到linux,解压
tar -xzvf
./configure
make
make install
采用提示gmake,gmakeinstall 也可以。
创建自己的工作目录,然后创建 logs 和 conf,在conf中创建 nginx.conf 作为nginx 的配置。然后启动nginx。注意要确保启动的是和openresty一起安装nginx。一般openresty安装在 /user/local/openresty 对应的nginx就在 /user/local/openresty/nginx/sbin下面,可以将这个目录添加到 .bash_profile中。
nginx -p 指定配置文件目录 -c 指定配置文件 如
nginx -p pwd/ -c conf/nginx.conf

MySQL

安装

在很多操作系统中,安装mysql是很简单的,比如macos,而我用的centos,还是不太好用的那种,于是采用了最不好用的一种安装方式,二进制安装。由于wget命令也用不了,只能到官网下载包,然后安装。参考
在官网下载
mysql-8.0.18-linux-x86_64-minimal.tar.xz
解压缩后,复制到 /user/local/mysql目录下

tar xvf mysql-8.0.18-linux-x86_64-minimal.tar.xz
cp -r mysql-8.0.18-linux-x86_64-minimal/* /usr/local/mysql

//添加用户和用户组

groupadd mysql
useradd mysql

更改权限

chown -R mysql.mysql mysql

将mysql程序的路径添加到PATH中,我这里因为装了zsh,写到.zshrc中

PATH=/usr/local/mysql/bin:$PATH
export PATH

此时

which mysql

应该可以看到已经是指定的目录了
创建存储数据的目录,因为 /data 的空间比较大,所以放在下面

cd /data
mkdir mysqlData
chown -R mysql.mysql mysqlData

在某一端口启动数据库,因为在一台机器上可能有多个mysql实例,他们使用的不同的端口,用来实现不同的服务。以端口3306 为例
创建数据文件夹(也用来存放配置文件),这一步也可以和上一步合并。

mkdir /data/mysqlData/data3306
chown -R mysql:mysql data3306
chmod 664 -R data3306

初始化,这里要记下来生成的临时密码,否则又要改密码

mysqld --initialize --user=mysql --datadir=/data/mysqlData/data3306
# MySQL 5.7.6 可以采用 mysql_install_db,之后被整理到 mysqld中。所以可能看到一些相关的代码。

修改配置文件

cp /etc/my.cnf /data/mysqlData/data3306/my.cnf
vim  /data/mysqlData/data3306/my.cnf

内容

[mysql]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
skip-name-resolve
port=3306
socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql
datadir=/data/mysqlData/data3306
 max_connections=200
character-set-server=utf8
log-error=/data/mysqlData/data3306/server1.err
pid-file = /data/mysqlData/data3306/mysql.pid
user = mysql
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M

内容注解:

--basedir	MySQL 安装目录的路径
--datadir	数据目录的路径
启动

启动:mysqld_safe是在 Unix 上启动mysqld服务器的推荐方法。 mysqld_safe添加了一些安全性 features,例如在发生错误时重新启动服务器,并将运行时信息记录到错误 log。一些支持mysql的系统,可以使用systemed对mysql进行管理,且支持多个实例,参见

/bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysqlData/data3306/my.cnf --user=mysql &

参数注解

--basedir	MySQL 安装目录的路径
--datadir	数据目录的路径
--defaults-file	仅使用给定的选项文件。如果文件不存在或无法访问,则服务器将退出并显示错误。如果作为相对路径 name 而不是完整路径 name 给出,file_name将相对于当前目录进行解释。如果使用它,它必须是命令 line 上的第一个选项。

检查端口

netstat -anp | grep 3306
重启
ps -ef | grep mysql
kill pid
/bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysqlData/data3306/my.cnf --user=mysql &
关闭
# mysqladmin -uroot shutdown -S /tmp/mysql3306.sock -p

输入 root 密码后,就可关闭 3306 端口的 mysql

迁移

数据库迁移的四种方法
1、将数据库倒出为sql文件,再重新导入
# mysqldump -u root -p YourDatabaseName > test.sql
mysql> create database YourDatabaseName;
# mysqldump -u root -p YourDatabaseName < test.sql
逐个迁移比较慢。
2、将数据库的文件存档目录直接拷贝至新主机。
该方法只支持myql的MyIASM的表引擎。该方法迁移速度快,但因Mysql默认采用inno引擎,适用场景少,且数据库版本升级后出错率高。
此种办法对于配置相同的数据库而言应该是可行的,如果数据不是生产数据可以采用此方式迁移

  • 先到老机器数据目录如 /data/mysql/3306 将数据打包
  • 到新的机器 /data/mysql/ 目录解压
    3、整盘迁移或者第三方工具
改密码
# mysql -u root -p
Enter password:     使用前面的临时密码登陆
mysql> set password = password('wscl1996.');
Query OK, 0 rows affected, 1 warning (0.00 sec)

如果没记录,可以采用参考中的方法。

redis

安装

yum install redis

启动

service redis start

配置文件

查询默认端口
/etc/redis.conf
配置文件默认是只接受 127.0.0.1 的访问,可以修改为
bind 0.0.0.0
但是开放外网访问可能有风险,最好结合防火墙,并配置密码
requirepass redis

登录redis

redis-cli -h 127.0.0.1 -p 6379

ElasticSearch

安装

指引
因为 es 包中自带了 java,除非你想使用自己特定办版本的 java,否则不必安装 java。
由于公司内网,导致安装很多东西都要手动操作。终于在配置好代理后,能够采用官网最简单的方式安装。因此解决问题从根本上来好,避免了很多额外的负担。
一般官网的操作都是可行,且最好的。如果官网的搞不定,要么你机器环境没配好,要么步骤没理解。
下载安装签名密钥

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

添加库,在 /etc/yum.repos.d/ 目录下,新建 elasticsearch.repo,内容为

[elasticsearch]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

安装

sudo yum install elasticsearch

启动

systemctl start elasticsearch
手动安装 6.3.1

由于项目使用的 es 是 6.3.1 的,使用 7.6.1 进行按测试研究很不方便,所以还是需要安装一个 6.3.1 的版本。

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.1.tar.gz
tar -xzvf elasticsearch-6.3.1.tar.gz –C /home/elasticsearch/

启动

cd /home/elasticsearch/elasticsearch-6.3.1/bin 
./elasticsearch -d

因为es不可以用 root 启动,使用之前创建的 elasticsearch 用户。但是提示

 bash: /home/test/.bashrc: 权限不够

参考
不知道为什么用户所属的用户和组变成了 1001,改过来之后就可以正常启动了。

遇到的问题

下面是之前手动安装 7.x.x遇到的坑,暂时留在这里,便于遇到的人查阅。
如果报错 could not find java in bundled jdk at
参考
可以编辑 bin/elasticsearch 目录

export JAVA_HOME=/usr 
export PATH=$JAVA_HOME/bin:$PATH 

if [ -x "$JAVA_HOME/bin/java" ]; then 
	JAVA="/usr/bin/java" 
else 
	JAVA=`which java` 
fi

启动成功后,使用下面的命令检查是否成功

curl 127.0.0.1:9200

因为想测试一下 analysis-icu 这个分词器,所以要安装个插件。
最简单的方法是参考

sudo bin/elasticsearch-plugin install analysis-icu

但是我的机器又不行,估计又是网络没配好。只能手动下载后安装.(连接参见官网)

# wget https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-icu/analysis-icu-7.6.1.zip
# cd 你的 ES 安装目录
# sudo bin/elasticsearch-plugin install file:///path/to/plugin.zip

注意:千万注意 file:// ,一定要在你的路径前面加上这个,举例来说,我的路径为安装语句为:

sudo bin/elasticsearch-plugin install file:///usr/share/elasticsearch/analysis.zip

容器化

Docker

参考
检查是否已经安装了旧版的docker,可能是docker或者docker-engine,建议卸载。
因为要是使用yum-utils管理yum的仓库,所以需要安装一下。
yum install yum-utils
由于device mapper驱动程序需要device-mapper-persistent-data依赖
yum install device-mapper-persistent-data
以及linux的lvm2(linux的逻辑卷管理器)
yum intall lvm2
添加docker的仓库
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo
我这里因为网络配置的问题,不能直接访问,需要先配置一下代理(参考),编辑 /etc/yum.conf文件,添加
proxy=http://代理服务器IP地址:端口号
注意如果要配置代理的话,需要使用你自己的代理地址,保存后,重新添加yum的库即可。
这里虽然库添加成功了,但是在安装的时候
yum install docker-ce
下载包出现了问题,因此关闭了代理,直接安装,发现功能正常,因此,添加对应的yum 库也许没有那么必要。
上面的安装方法会默认安装最新版本,可以通过
yum list docker-ce --showduplicates | sort -r
查看最近版本,通过
yum install docker-ce-<VERSION STRING>
安装自己需要的版本。

启动
添加到开机启动
systemctl enable docker
启动docker服务
systemctl start docker

验证安装
docker run hello-world

更新
yum update docker-ce

卸载
yum remove docker-ce
删除本地文件
docker 的本地文件,包括镜像(images), 容器(containers), 存储卷(volumes)等,都需要手工删除。默认目录存储在 /var/lib/docker

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值