在linux中搭建后端需要的基本软件,本章节用两种方式
首先要学会linux基本使用和命令
一种:直接命令下载软件包 搭建
二种:docker 搭建 更方便
一:准备环境
1.一台虚拟机 看看网络是否通
2.设置防火墙 (iptables防火墙)
注意:conos7没有iptables防火墙了 用的是firewall防火墙
1 安装iptables作为防火墙(企业用)
yum install iptables-services #通过yum install 命令可以从网上下载安装iptables
2 停止firewall及其开机不启动
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
3 启用iptables,配置开机启动
systemctl start iptables.service #启动iptables
systemctl enable iptables.service #将iptables设置为开机启动
4 查看iptables是否启动成功:systemctl status iptables
重启iptables防火墙:systemctl restart iptables
ps:只要安装好了iptable这个防火墙,这个防火墙的配置文件在/etc/sysconfig/iptabls
iptabls配置文件:允许某个端口可以被外界访问
后期我们要安装软件 比如tomcat 8080
我们可以通过修改iptables文件设置8080端口可以被外界访问
修改配置文件:vi /etc/sysconfig/iptables 复制指定端口
ps:iptables是iptable防火墙的配置文件 所以必须得安装iptables防火墙才有该配置文件
最后这样就配置好了
二:原生安装 jdk,mysql,tomcat,redis,nginx
注意: 安装软件前必须得先有防火墙做端口的开放(3306 8080 6379 80...)
2.1:准备环境
在/usr/local目录下创建jdk文件夹,mysql文件夹,tomcat文件夹,redis文件夹存放安装内容
1: 进入目录:cd /usr/local
2: 创建文件夹:
mkdir jdk
mkdir tomcat
mkdir mysql
mkdir redis
也可以网上自行下载 对应版本
将本地这些 拖到 刚才创建的文件夹里
2.2Jdk安装
步骤1:使用上传工具将jdk压缩包放入/usr/local/jdk目录下
步骤2:查看当前Linux系统是否已经安装jdk(没有jdk)
命令 rpm -qa | grep java
步骤3:进入 /usr/local/jdk目录下,解压jdk
命令 cd /usr/local/jdk
命令 tar -zxvf jdk-8u181-linux-x64.tar.gz
测试 java -version(不成功,得配置环境变量)
步骤4:配置环境变量
命令 vi /etc/profile
在文件的最后面添加如下代码:
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
ps:JAVA_HOME这个路径配置的是自己jdk解压之后的路径
步骤5:重新加载配置文件
命令 source /etc/profile
最终测试:
2.3 tomcat安装
步骤1:使用上传工具将tomcat压缩包放入/usr/local/tomcat目录下
步骤2:查看当前Linux系统是否已经安装tomcat(企业)
命令 rpm -qa | grep tomcat
步骤3:进入/usr/local/tomcat目录下,解压tomcat
命令 cd /usr/local/tomcat
命令 tar -zxvf apache-tomcat-8.5.27.tar.gz
步骤4: 进入/usr/local/tomcat/apache-tomcat-8.5.27/bin 启动tomcat
命令 cd /usr/local/tomcat/apache-tomcat-8.5.27/bin
命令 ./startup.sh 查看是否开启成功:ps -ef | grep tomcat
测试: 通过浏览器访问8080端口(不成功,得配置8080端口开放)
步骤5: 修改防火墙的配置文件
命令 vi /etc/sysconfig/iptables
复制(yy)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
粘贴(p)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
步骤6:重启防火墙服务
service iptables restart
最后在本机浏览 当前你的虚拟机的ip 地址 加上 8080端口号(刚才开放的)
2.4安装Mysql (一步一步来,不要出错)
步骤1:使用上传工具将mysql压缩包放入/usr/local/mysql目录下
步骤2:查看当前Linux系统是否已经安装mysql
命令 rpm -qa | grep mysql
虽然没有安装mysql,但是有自带的数据库:mariadb
步骤3:查看并卸载自带的数据库
查看命令 rpm -qa | grep mariadb
卸载命令 rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
步骤4:进入/usr/local/mysql目录下,解压mysql
命令 cd /usr/local/mysql
命令 tar -xvf MySQL-5.5.49-1.linux2.6.i386.rpm-bundle.tar
步骤5:先安装解压后的服务器端(MySQL-server-5.6.22-1.el6.i686.rpm)
命令 rpm -ivh MySQL-server-5.5.49-1.linux2.6.i386.rpm
ps:会缺依赖,安装mysql服务器端软件需要依赖如下(4个依赖包)
libaio.so.1
libc.so.6
libgcc_s.so.1(这个版本有冲突,需要先卸载再安装)
libstdc++.so.6(这个版本有冲突,需要先卸载在安装)
步骤6:安装依赖
命令 yum install libaio.so.1
命令 yum install libc.so.6
步骤7:先卸载 libgcc 再安装 libgcc
卸载命令
rpm -qa|grep libgcc
rpm -e --nodeps libgcc-4.8.5-16.el7.x86_64
安装命令
yum install libgcc_s.so.1
步骤8:先卸载libstdc++再安装libstdc++
卸载命令
rpm -qa|grep libstdc
rpm -e --nodeps libstdc++-4.8.5-16.el7.x86_64
安装命令
yum install libstdc++.so.6
步骤9:重新执行安装服务器端命令
命令 rpm -ivh MySQL-server-5.5.49-1.linux2.6.i386.rpm
步骤10:安装客户端(MySQL-client-5.5.49-1.linux2.6.i386.rpm)
命令 rpm -ivh MySQL-client-5.5.49-1.linux2.6.i386.rpm
ps:会缺依赖,安装mysql客户端也需要依赖如下软件:libncurses.so.5
执行安装依赖命令:yum install libncurses.so.5
再次执行:rpm -ivh MySQL-client-5.5.49-1.linux2.6.i386.rpm
步骤11:启动mysql服务
命令 service mysql start #开启
步骤12:将mysql设置开机自动启动服务
命令 systemctl enable mysql
步骤13: 设置密码操作
/usr/bin/mysqladmin -u root password '你要设置的密码'
步骤14:登录mysql
命令 mysql -u用户名 -p密码
使用远程sqlyog图形化界面方式
步骤15:修改防火墙的配置文件(放行3306端口号)
命令 vi /etc/sysconfig/iptables
复制(yy)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
粘贴(p)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
重启防火墙服务:service iptables restart
步骤16: 允许远程连接linux下的mysql
默认情况下mysql为安全起见,不支持远程登录mysql,所以需要设置开启远程登录mysql的权限
登录mysql: mysql -u用户名 -p密码
权限设置命令:grant all privileges on *.* to '用户名'@'%' identified by '密码';
刷新权限命令:flush privileges;
ps问题: 还遇到这个问题can not hostname...
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
在[mysqld]下添加一行
skip-name-resolve #忽略主机名
lower_case_table_name=1 #忽略表名大小写(可选)
linux下安装的mysql中文乱码解决问题
查看服务器的编码:show variables like '%char%'; 字符集编码为latin1 不是utf-8
解决:
步骤1:停止mysql服务器
命令:service mysql stop
步骤2:将/usr/share/mysql/my-medium.cnf 复制到/etc目录下,且重命名为my.cnf
命令:cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
步骤3:编辑my.cnf,在[mysqld]下添加一行"character-set-server=utf8" 保存退出
命令:vi /etc/my.cnf
在[mysqld]下添加一行"character-set-server=utf8"
步骤4:重启mysql服务器 新建数据库新建表查看编码
命令:service mysql start
ps:要创建新库使用
最后这样能连接上就ok
2.5 redis安装
步骤1: 使用上传工具将redis压缩包放入/usr/local/redis目录下
步骤2: yum install gcc-c++ //因为是C语言编写的,需要C语言的环境
步骤3:进入/usr/local/redis目录下,解压redis
命令 cd /usr/local/redis
命令 tar -zxvf redis-3.0.7.tar.gz
步骤4: 进入解压文件编译并安装redis
命令 cd redis-3.0.7
make
make PREFIX=/usr/local/redis install
安装成功之后 在redis目录下多出来一个能识别bin目录
命令查看多出来的目录:cd /usr/local/redis
多出来一个bin目录
步骤5:启动(redis服务器)
将redis-3.0.7目录下的redis.conf文件复制到 /usr/local/redis/bin 下
命令:cd redis-3.0.7
命令: cp redis.conf /usr/local/redis/bin/
修改redis.conf配置文件 设置为启动服务加载配置文件
命令 cd /usr/local/redis/bin
命令 vi redis.conf
按键盘问号:搜索/daemonize
将 daemonize 值改成yes即可 保存退出
启动: ./redis-server redis.conf
步骤6:使用redis的客户端连接redis服务器
命令 ./redis-cli -h ip -p 端口
步骤7:如果要使用可视化图形工具连接 要修改防火墙的配置文件
命令 vi /etc/sysconfig/iptables
复制(yy)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
粘贴(p)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
步骤7:重启防火墙服务
service iptables restart
步骤8:关闭服务器(可选)
./redis-cli -h ip -p 端口 shutdown 或 kill -9 pid
2.6 Nginx安装
1安装C语言环境(gcc)
命令:yum install gcc-c++ 安装期间有提示,一律选y(如果安装过 可以跳过该步骤)
2安装Nginx依赖环境,‐y表示所有提示默认选择y
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel
3 将nginx上传工具上传到/usr/local下解压并进入解压目录
命令:cd /usr/local
命令:tar -zxvf nginx-1.13.9.tar.gz
解压完毕后/usr/local下多出一个nginx-1.13.9文件夹
4编译并安装
进入文件夹:cd nginx-1.13.9
命令:
./configure
make
make install
ps:安装成功之后,就会在/usr/local下多出了一个nginx目录.
5 启动/停止 Nginx
进入nginx的sbin目录: cd /usr/local/nginx/sbin
./nginx 启动
./nginx -s stop 停止
./nginx -s reload 重启
6 在防火墙配置文件中开放80端口
vi /etc/sysconfig/iptables
重启防火墙服务:service iptables restart
7 查看是否有nginx的线程是否存在(可选)
命令 ps -ef | grep nginx
三:docker安装以上环境
Docker容器_華同学.的博客-CSDN博客 docker基本使用
创建一个新的虚拟机 (我这么做是因为后期做集群)
1.下载docker
# 1、yum 在线安装
yum install docker -y
#2、启动docker
systemctl start docker 启动
systemctl stop docker 停止
systemctl restart docker 重启
#3、查看docker状态
systemctl status docker
2.配置镜像加速器
直接 vi /etc/docker/daemon.json
中科大镜像地址
{
"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}
#重启
systemctl restart docker
#查看docker信息
docker info
#启动docker服务:
systemctl start docker
#停止docker服务:
systemctl stop docker
#重启docker服务:
systemctl restart docker
#查看docker服务状态:
systemctl status docker
#设置开机启动docker服务:
systemctl enable docker
3.从docker仓库下载镜像到宿主机 以下是镜像相关命令
#1 查看镜像: 查看本地所有的镜像
docker images
#2 搜索镜像:从网络中查找需要的镜像
docker search 镜像名称
#3 拉取镜像:从Docker仓库下载镜像到本地,镜像名称格式为 名称:版本号
如果版本号不指定则是最新的版本。如果不知道镜像版本,可以去docker hub 搜索对应镜像查看。
地址:https://hub.docker.com/
docker pull 镜像名称:版本号 / docker pull 镜像名称(默认的版本号是latest)
docker pull mysql:5.7 / docker pull mysql
#4 删除镜像: 删除本地镜像
docker rmi 镜像id # 删除指定本地镜像
刚下载的4个mysql是指定版本 剩下的最新版本
那么接下来就是把镜像 生成一个个容器 *****
4.通过镜像启动生成容器环境(重点)--容器相关命令
#查看容器
docker ps # 查看正在运行的容器
docker ps -a #查看所有容器,包括未运行的容器
#创建并启动容器
docker run -id --name=自定义容器名称 -p 映射端口:镜像端口 镜像名称
run:启动
-id/-di: 创建容器
--name: 为创建的容器起别名
-p: 端口映射
#停止容器
docker stop 容器名称
#删除容器(容器是停止状态才能删除)
docker rm 容器名称
#启动容器
docker start 容器名称
启动 nginx
docker run -di --name=my_nginx1 -p 81:80 nginx
注意:不需要手动在配置映射端口了 , 81:80 对应的就是端口, 这里生成一个容器
还可以在生成一个 nginx 容器
docker run -di --name=my_nginx2 -p 82:80 nginx
此时浏览器也是可以访问的:
高级吧
安装mysql
注意;此时有一个数据卷的名词,如果不想了解,那就
cd ~
mkdir data然后安装:
docker run -id --name=my_mysql888 --privileged=true -p 33308:3306 -v /root/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
安装tomcat
docker run -id --name=mytomcat1 --privileged=true -v /root/webapps:/usr/local/tomcat/webapps -p 8081:8080 tomcat
安装redis
docker run -di --name=myredis1 -p 63779:6379 redis
docker安装是不是很简单