Linux安装部署项目实例
本次安装jdk,mysql,maven,redis,nginx,tomcat
安装之前先升级系统
使用命令:/bin/yum - y update
1.安装jdk
先建立一个项目的目录-jiaotong
在jiaotong目录下面建立6个子目录jdk,mysql,maven,redis,nginx,tomcat
进入jdk目录中:
cd jdk
把jdk压缩包上传到此目录中
rz jdk压缩包
解压此压缩包:
tar -zxvf jdk -C 解压的路径
tar -zxvf jdk压缩包名
配置环境变量,编辑环境变量文件
vi /etc/profile
在文件中增加:(java_home那里要填写实际的完整目录)退出编辑后保存
刷新环境变量
source /etc/profile
验证是否安装成功
java -version
出现版本信息则安装成功:
2.安装mysql
进入mysql文件夹,上传mysql压缩包,解压
tar -zxvf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar
然后依次安装
rpm -ivh mysql-community-common-5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-devel-5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-compat-5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm
安装到第五个时出错,缺少依赖对应的包
依次安装包
/bin/yum -y install perl.x86_64 /bin/yum install -y libaio.x86_64 /bin/yum -y install net-tools.x86_64
然后启动mysql
systemctl start mysqld.service
查看mysql的状态
systemctl status mysqld.service
获取mysql的root密码
mysql安装完成之后默认会生成root用户的密码,并且把密码存放在/var/log/mysqld.log该文件中,使用命令获取密码grep 'temporary password' /var/log/mysqld.log
grep 'temporary password' /var/log/mysqld.log
配置mysql
首先登陆mysql
mysql -uroot -p密码
然后修改root密码
SET PASSWORD = PASSWORD('Zc123456@');
修改权限,允许用户远程连接
进入mysql的数据库,因为mysql中有user表(user表存了用户的信息)
输入
select user,host from user;
可以看到host处都是localhost,说明现在只能通过主机连接,无法通过远程连接。
输入授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Zcreate@123';
flush privileges; #更新权限
再次查询权限:可以看到host处变成%,说明可通过远程连接。
然后退出mysql
mysql>quit;
遇到的问题:
通过本机mysql远程连接虚拟机的数据库连接失败,
尝试ping IP发现可以ping通;
尝试telnet端口,发现3306端口不通。
解决方法:
需要在防火墙配置将3306端口开放。
[root@localhost ~]# vi /etc/my.cnf
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent(--permanent永久生效,没有此参数重启后失效) success 重新载入 [root@localhost ~]# firewall-cmd --reload success 查看 [root@localhost ~]# firewall-cmd --zone=public --query-port=3306/tcp yes
之后用Navicat可连接上
修改mysql的目录存储权限,把日志文件放在/home/data中
[root@localhost mysql]# systemctl stop mysqld 停止mysql
[root@localhost mysql]# mkdir -p /home/data/ 创建一个/home/data/目录
[root@localhost mysql]# cp -rf /var/lib/mysql /home/data/ 复制文件到这个目录中
[root@localhost mysql]# vi /etc/my.cnf 编辑文件,修改配置
之后:
[root@localhost mysql]# setenforce 0 执行命令 [root@localhost mysql]# chown -R mysql:mysql /home/data/mysql 修改权限 [root@localhost mysql]# systemctl start mysqld 重启mysql
3.安装tomcat
进入目录,上传文件,解压
启动tomcat:
测试访问tomcat:
打开防火墙,使外部能访问(centos7下)
firewall-cmd --permanent --zone=public --add-port=8080/tcp #添加端口 firewall-cmd --reload #重新加载 firewall-cmd --list-all #查看一下
ping一下端口
在浏览器输入: http://10.1.30.129:8080。如在本机可以输入: http://localhost:8080, 出现tomcat的页面表示安装成功
4.安装maven
进入maven文件夹,上传文件,解压
tar -zxvf apache-maven-3.6.1-bin.tar.gz
配置maven环境
vi /etc/profile
输入
export MAVEN_HOME=/用户名/soft/jiaotong/maven/apache-maven-3.6.1 --完整目录 export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
刷新环境变量:
[root@localhost maven]# source /etc/profile
验证结果:
输入
mvn -version
5.安装nginx
把整个nginx文件压缩成zip格式,如果unzip命令不可用,就先安装命令
安装命令: /bin/yum install zip #提示输入时,请输入y;
安装命令:/bin/yum install unzip #提示输入时,请输入y;
进入jiaotong目录下,上传压缩包,解压文件到nginx目录下(没有这个目录就会自动创建一个)
[root@localhost jiaotong]# unzip nginx安装.zip -d nginx
删除安装包
rm nginx安装.zip
进入nginx文件目录下
安装gcc
进入gcc目录,一次性安装
rpm -Uvh *.rpm --nodeps --force
安装gcc-c++(与gcc安装方法一样)
安装完以后验证一下:
gcc -v
安装PCRE:
解压
[root@localhost nginx]# tar -zxvf pcre-8.35.tar.gz
编译安装
# cd pcre-8.35 # ./configure # make # make install
安装libtool
解压
tar -zxvf libtool-2.4.2.tar.gz
编译安装
# cd libtool-2.4.2 # ./configure # make # make install
安装nginx
解压
tar -zxvf nginx-1.13.9.tar.gz
编译安装
# cd nginx-1.13.9 #./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/pcre-8.35 # make # make install
输入make时报错
这是因为缺少依赖对应包:
安装包:
/bin/yum install pcre-devel /bin/yum install zlib zlib-devel /bin/yum install openssl openssl-devel //也可用一条命令代替 /bin/yum install pcre-devel zlib zlib-devel openssl openssl-devel
原文地址:https://www.cnblogs.com/dydxw/p/11758417.html
- zepto 基础知识(5)
- 移动Web 开发中的 Off Canvas 导航
- Angularjs基础(八)
- 移动Web 开发中的一些前端知识收集汇总
- Angularjs基础(七)
- WordPress 中八个有用的代码片段
- 【释疑文】DeveMobile、EaseMobile 及Devework 主题的区别
- DeveMobile/EaseMobile 主题双双更新1.1,增加离线存储,社交媒体关注等功能
- Angularjs基础(六)
- 如果机器人拥有痛觉,这个世界会怎样
- 阻止iOS Web APP中点击链接跳转到Safari 浏览器新标签页
- 专门攻击工资支付系统的网络犯罪
- Angularjs基础(五)
- DW Replace Open Sans:将WordPress 后台中的open-sans字体加载源从Google Fonts换为360 CDN
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 十大高性能开发
- 【云+社区年度征文】java agent及字节码技术得到DNS时间流程尝试
- 短视频商城源码,制作彩色验证码
- ubuntu下的mysql安装与使用
- 排序算法
- 并发编程框架Disruptor之高性能设计
- 3分钟短文:Laravel说要用软删除,可不要真删
- leetcode队列之设计循环双端队列
- MySQL8.0的binlog详解
- Flutter NestedScrollView实现的一个经典滑动折叠头部图片的效果
- Maven 编译拷贝资源的时候提示 UTF-8 编码信息
- Qt音视频开发30-Onvif事件订阅
- 干掉 Navicat:正版,MySQL 官方客户端真香!
- CentOS 搭建 K8S 环境教程,一次性成功,收藏了!
- IDEA 真香!找出全部未被使用的代码只用了 2 秒钟!