linux
linux环境搭建
服务器连接软件
Xshell&Xftp
Xshell:官网提供了付费和免费的家庭和学校用户版
Xftp:官网提供了付费和免费的家庭和学校用户版
python3
安装依赖环境
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
下载python3
-
切换路径
cd /opt
-
下载
wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
如果没有wget命令
yum -y install wget
为什么不安装别的版本,因为写的时候最新的是3.10但是还在改bug,3.7和3.8是比较稳定的版本。
-
安装python3
-
创建目录
mkdir -p /usr/local/python3
-
解压
tar -zxvf Python-3.7.1.tgz
-
-
编译
-
安装gcc
yum install gcc
-
3.7版本之后需要安装一个新的包
yum install libffi-devel -y
-
进入python文件夹
cd Python-3.7.1
-
指定安装目录
./configure --prefix=/usr/local/python3
-
编译
make
-
安装
make install
-
检查
/usr/local/python3/bin/python3.7
-
-
建立python3和pip3的软连接
- python3
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
- pip3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
- 不要将python的软连接指向python3因为linux底层有部分是python2写的,如果将python指向python3会出错,python2和python3差的很多。
- python3
-
添加环境变量
-
vim /etc/profile
-
按 ’i‘ ,然后粘贴如下内容
# vim ~/.bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin:/usr/local/python3/bin export PATH
-
按Esc,输入:wq回车退出
-
修改完以后执行
source ~/.bash_profile
-
-
检查python3和pip3是否可用
-
python3 -V
-
pip3 -V
-
-
升级pip
pip3 install --upgrade pip
-
pip国内镜像
pip3 install scrpay -i https://pypi.tuna.tsinghua.edu.cn/simple
redis
redis是个很好用的库,如果只是测试可以在内网自己搭建,如果你的服务器是公网,你如果想在本地访问就要开启外网访问了。
linux搭建redis
下载redis
执行命令,这里选择的5.0的版本,可根据需要进行修改
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
解压redis
tar -zvxf redis-5.0.7.tar.gz
移动目录
mv /root/redis-5.0.7 /usr/local/redis
移动工作目录
cd /usr/local/redis
编译redis
make
安装redis
make PREFIX=/usr/local/redis install
解释一下,这里的PREFIX是指定存放路径,如果不指定Linux会将可执行文件存放在/usr/local/bin目录,库文件会存放在/usr/local/lib目录。配置文件会存放在/usr/local/etc目录。其他的资源文件会存放在usr/local/share目录。这里指定号目录也方便后续的卸载,后续直接rm -rf /usr/local/redis 即可删除redis。(大佬的解释,我抄的)
启动测试redis
./bin/redis-server ./redis.conf &
最后那个&是表示redis后台运行,./redis.conf是表示加载redis.conf配置文件,这时候如果在服务器上测试是可以的,输入指令 redis-cli
查看配置
CONFIG GET *
配置项很多,
配置项名称 | 配置项值范围 | 说明 |
---|---|---|
daemonize | yes、no | yes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行 |
port | 指定 Redis 监听端口,默认端口为 6379 | |
bind | 绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可,这个属性和下面的protected-mode控制了是否可以远程访问 。 | |
protected-mode | yes 、no | 保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接rendis服务则需要将此属性改为no。 |
timeout | 300 | 当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能 |
loglevel | debug、verbose、notice、warning | 日志级别,默认为 notice |
databases | 16 | 设置数据库的数量,默认的数据库是0。整个通过客户端工具可以看得到 |
rdbcompression | yes、no | 指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大。 |
dbfilename | dump.rdb | 指定本地数据库文件名,默认值为 dump.rdb |
dir | 指定本地数据库存放目录 | |
requirepass | 设置 Redis 连接密码,如果配置了连接密码,客户端在连接 Redis 时需要通过 AUTH 命令提供密码,默认关闭 | |
maxclients | 0 | 设置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息。 |
maxmemory | XXX | 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区。配置项值范围列里XXX为数值。 |
这是一些参考,主要的参数有如下几个:
requirepass——> 设置密码 requirepass 123 指定密码为123
daemonize——>修改为yes,可以启动的时候不加&
bind——>注释掉,这样可以不限制ip,为外放访问做铺垫
protected-mode——>改为no,这样就可以外网访问了
redis设置外网访问
-
打开我们的配置文件,如果按照上面的步骤来的,那配置文件就在这个路径下:
/usr/local/redis
,该路径下有一个redis.conf的文件, -
编辑配置文件
vim /usr/local/redis/redis.conf
-
修改ip限制
-
增加守护进程
-
允许外网访问
-
保存并退出,Esc-:wq
-
查询之前启动的redis的进程号
ps -aux
-
kill -9 进程号
-
重新启动redis,
/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf &
按理论来说可以不用&,但是以防万一我就加上了。
测试外网访问
次数使用python进行测试,其他语言可自行百度进行测试。
import redis
pool = redis.ConnectionPool(host='你的ip', port=端口,db='0',decode_responses=True,password='访问密码(没有就删除该字段)') # db 选择库
r = redis.Redis(connection_pool=pool)
print(r.keys()) # 查询所有的key
之前redis存过值,所以查询的key有数据,如果没使用过,则查询结果为空列表。
如果访问不到,可以看看服务器提供商的安全组是否开放了对应端口,如果检查服务器是否开放了对应的TCP端口,服务器端口开发命令:firewall-cmd --zone=public --add-port=要开放的端口/tcp --permanent
redis常用命令
docke
没别的优点,就是好用。
linux搭建docker
这里使用的Contos7
docker下载并安装
-
检查是是否安装了
yum list installed | grep docker
-
如果没安装就安装
-
下载并安装
yum -y install docker
-
完成后再次查看
yum list installed | grep docker
启动docker
systemctl start docker
查看docker服务状态
systemctl status docker
docker常用命令
docker搭建es库
修改参数
-
查看查看max_map_count的值 默认为65530
cat /proc/sys/vm/max_map_count
-
重新设置max_map_count的值
sysctl -w vm.max_map_count=262144
下载镜像
-
使用docker拉取镜像
docker pull elasticsearch:7.7.0
-
启动镜像
docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.7.0
访问测试
浏览器访问ip:9200,出现如下的类似页面则安装完成,
如果访问不到,先检查一下是安全组,然后再去检查一下服务器端口。
安装elasticsearch-head
-
docker拉取镜像
docker pull mobz/elasticsearch-head:5
-
创建容器
docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
-
启动容器
docker start elasticsearch-head
-
访问连接http://ip:9100
如果被拒绝访问,先检查一下是安全组,然后再去检查一下服务器端口。
-
解决数据跨域问题
查看在运行的docker
docker ps
进入es的docker环境
docker exec -it es的ID /bin/bash
查询当前文件夹的内容
ls
移动到config中
cd ./config
修改里面的elasticsearch.yml文件
vim ./elasticsearch.yml
如果vim报错说不存在,bash: vim: command not found
两个命令解决:
Ubuntu:
apt-get update
apt-get install vim
CentOS:
yum update
yum install vim
完活!
编辑 elasticsearch.yml 文件,添加如下内容:
http.cors.enabled: true http.cors.allow-origin: "*"
保存并退出。Esc->:wq
退出当前容器:
exit
进入elasticsearch-head容器(用docker ps查询容器id)
docker exec -it 容器id /bin/bash
修改此文件
vim ./Gruntfile.js
添加hostname
connect: { server: { options: { hostname: '0.0.0.0', port: 9100, base: '.', keepalive: true } } }
保存并退出。记得退出容器。
重启两个容器
docker restart es-header容器id es容器id
网页访问ip:9100
将上面的localhost修改为你的ip,然后点击连接即可。
linux搭建mysql
拉取镜像
docker pull mysql
默认会拉取最新的mysql版本,这次拉取的是mysql8。
创建容器
docker run -itd --name mysql-test -p 9768:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
将服务器的9768端口映射到docker的3306端口,root密码设置为123456。
mysql8创建外网访问
因为版本问题,mysql8需要手动添加mysql的外网访问,5.6不需要。
查询容器id
docker ps
进入docker环境
docker exec -it 07b3fb2c6828 /bin/bash
进入mysql
mysql -uroot -p
执行sql语句
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
本地连接
测试连接
完成。
Java
linux环境下搭建Java
安装JDK
这次选择jdk8安装,原因就是我喜欢。
-
使用Xftp将下载好的jar包上传到服务器上,一般上传到我们的/usr/local中。
-
解压
tar -zxvf jdk-8u181-linux-x64.tar.gz
-
编辑环境变量
vim /etc/profile
-
添加环境变量
export JAVA_HOME=/usr/local/jdk1.8.0_181 #jdk安装目录 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin export PATH=$PATH:${JAVA_PATH}
-
检测安装是否成功
-
命令
javac
-
命令
java -version
-
完活
-