Linux操作系统下复现github上的项目(一):下载项目、配置环境
一、从github上下载项目
TinyWebserver项目github地址
首先确定下linux系统的版本信息, linux查看系统类型和版本
登陆Linux,在终端输入 cat /proc/version
得到:
以上说明linux系统内核版本
其次看下linux系统发行版本lsb_release -a
确定是centos系统7.3.1611,需要注意下使用的语句。比如在线安装软件中,centos使用的是yum命令,而ubuntu中使用的是apt-get命令。
可以理解为内核版本就是指linux中最基层的代码,版本号如 Linux version 3.10.0-327.22.2.el7.x86_64
发行版本就是在某版本内核的基础上加了发行商自己想加进去的很多软件代码,比如 CentOS Linux release 7.2.1511 (Core)
其次Linux 下建立 Git 与 GitHub 的连接 .
按照上面链接要求,
CentOS 安装 Git: yum install git
查看 Git 版本信息: git version
仿照以下格式配置自己的信息
git config --global user.name "name"git config --global user.email "@163.com"
我使用的是 CentOS,则默认开启了 SSH,可以忽略开启 SSH服务(ssh服务详解 )
查看 SSH 服务状态: ps -e | grep sshd
sshd 表示 ssh-server 已启动
查看ssh key是否存在:ls -al ~/.ssh
查看具体ssh key信息:
root@localhost:~# cd /root/.sshroot@localhost:~/.ssh# ls -a
可以看到authorized_keys,但是没有id_rsa、id_rsa.pub。
id_rsa、id_rsa.pub 、authorized_keys区别
所以重新生成SSH KEY: ssh-keygen -t rsa -C "……@163.com"
查看具体ssh key信息:
root@localhost:~# cd /home/admin/.sshroot@localhost:~/.ssh# ls -a
然后打开id_rsa.pub,内容复制到剪切板vim id_rsa.pub
然后在github的personal setting页面的SSH and GPG keys选项里填写剪切板里复制过来的内容。
然后github获取别人的远程仓库并clone到本地:git clone 仓库复制过来的SSH地址
(这种方式不会修改原来代码)
参考:之后怎么同步git和github上的内容
一篇不错的git简单教程Git和Github简单教程
二、配置好环境
下载完之后,项目包所在位置在当前目录,/home/admin/.ssh
需要把它运行起来,项目的快速运行部分里面有简单的说明,首先不管三七二十一,看了看下载的项目包里有的东西cd TinyWebServer
ls -a
然后试了试sh ./build.sh
试了试开启mysql: service mysqld start
报错 The server quit without updating PID file
报错的解决方法:启动mysql报错The server quit without updating PID file!
我就不尝试了,删了Mysql,重装:Linux系统发行版ContOS7演示安装MySQL。
直到rpm -e mysql
显示
error: package mysql is not installed
(rpm(英文全拼:redhat package manager) 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序, -e删除套件)
按照我的系统设置,在mysql官网上选好要下载的版本,得到下载链接后wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
然后yum repolist enabled | grep "mysql.*-community.*"
查看是否成功安装,啥都不显示(因为我忘记安装语句了)
首先查找下错误ls -a
下/home/admin下文件
在 Linux中,文件的颜色都是有含义的,文件名颜色不同,代表文件类型不一样。
浅蓝色:表示链接文件;
灰色:表示其他文件;
绿色:表示可执行文件;
红色:表示压缩文件;
蓝色:表示目录;
红色闪烁:表示链接的文件有问题了;
黄色:表示设备文件,包括block,char,fifo。
centos7 yum安装mysql
首先rpm -ivh mysql80-community-release-el7-3.noarch.rpm
正式安装
刚开始报错
执行rpm时提示:error: can’t create transaction lock on 啥啥啥,理由是安装一个软件是要往/bin、/usr/bin、/etc等文件夹下写东西的,需要root的权限,sudo su root
一下就可以正常安装
再yum repolist enabled | grep "mysql.*-community.*"
查看yum源的安装情况
接下来安装需要的mysql版本,我需要mysql5.7.29。yum repolist all | grep mysql
看启用情况
yum-config-manager --disable mysql80-community ##禁用8.0版本的
yum-config-manager --enable mysql57-community ##启用5.7版本的
中间若报错yum-config-manager找不到,yum -y install yum-utils
再看一遍启用情况
yum install mysql-community-server
开始安装
报错原文
Public key for mysql-community-server-5.7.37-1.el7.x86_64.rpm is not installed
Failing package is: mysql-community-server-5.7.37-1.el7.x86_64
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Mysql安装失败-GPG验证不通过
使用引入公钥的方法rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
,然后重新安装:
安装完成后验证
service mysqld start #开启MySQL服务 只要没有错误信息就表示已经正常启动了。service mysqld stop #关闭MySQL服务service mysqld restart #重启MySQL服务 service mysqld status #查看服务状态
service mysqld start
报错
The server quit without updating PID file
报出上图一样的错误 解决方法:mysql提示The server quit without updating PID file,按照链接里的方法挨个排查。 排查了一下,我ps -ef|grep mysqld
了一下(ps -ef:ps 命令是Process Status的缩写,用来列出系统中当前运行的进程,ps -ef 把所有进程显示出来) 需要把和mysql有关的进程kill掉,所以再用lsof -i:3306
(3306默认是mysql服务器的端口)确认了下,列出谁在使用mysql服务器的端口。(lsof(list open files)是一个列出当前系统打开文件的工具。详细介绍见linux lsof命令详解 )
如果报错没有lsof ,那再yum install lsof
。但是多次kill -9 mysql的PID
,mysql不但没被杀掉,而且换了一个pid号仍然运行。
目前面临问题: 系统启动了自带的mysql进程,想要启动自己所需配置文件的mysql,就要杀掉默认的mysql。 使用kill -9 pid号,mysql不但没被杀掉,而且换了一个pid号仍然运行mysql使用kill无法杀死进程
由于MySQL有一个守护进程,MySQL_safe这样的,所以每次强制杀死,他都会自动启动,所以想通过service mysqld stop
来关闭MySQL服务,但是报错
怎么解决MySQL server PID file could not be found问题
使用⬆链接,结束战斗
主要的原因应该是
1.没有正确kill掉mysql进程(killall mysqld
)
2. mysql数据目录权限异常, 输入mysql,报错ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
解决:修改mysql数据目录权限chown -R mysql.mysql /var/lib/mysql/
(mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,可以打开这个文件查看在[mysqld]节下的配置vim /etc/my.cnf
)
Linux操作系统下复现github上的项目(一):下载项目、配置环境相关推荐
- Linux操作系统下进程讲解(史上最强总结)
Linux操作系统下进程讲解 一.进程的基本概念: 1. 什么是进程 在传统的操作系统中,程序不可以独立的运行,作为资源分配和独立运行的基本单位都是进程.进程的定义是一个可执行中程序的实例,系统中每一 ...
- Linux下向GitHub 上传代码
Linux下向GitHub 上传代码 1.先在Github个人主页创建一个仓库 2.在根目录下,复制仓库链接,将仓库复制到本地 git clone https://gitclone.com/githu ...
- GitHub上不错的Android开源项目(二)
摘要:GitHub上的开源项目不胜枚举,通过这些项目,也能让开发者在应用开发过程中事半功倍,作为开发者的你,在用这些开源项目吗?今天我们将介绍另外20个在GitHub上备受欢迎的Android开源项目 ...
- GitHub 优秀的 Android 开源项目 淘宝技术牛p博客整理开发中最常用的GitHub上 优秀的 Android 开源项目整理(精品)...
原文地址为http://www.trinea.cn/android/android-open-source-projects-view/,作者Trinea 主要介绍那些不错个性化的View,包括Lis ...
- GitHub上不错的Android开源项目(三)
收集相关系列资料,自己用作参考,练习和实践.小伙伴们,总有一天,你也能写出 Niubility 的 Android App :-) GitHub上不错的Android开源项目(一):http://ww ...
- vue github开源项目_11月份Github上最热门的开源项目
开源最前线(ID:OpenSourceTop) 猿妹整编 转载请注明来源作者 11 月份 GitHub 上最热门的开源项目排行已经出炉啦,在本月的名单中,有15亿参数量的通用语言模型.还有NLP工具包 ...
- linux可配置哪些服务,linux操作系统下服务配置
linux操作系统下服务配置 (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 17.90 积分 实用标准文案数学与信息技术学院实 验 报 告实验课程名 ...
- [转]2020年2月份Github上最热门的开源项目,速来围观
随着疫情被逐渐控制,好消息一天天传来,相信用不了多久我们就能恢复正常生活了. 宅在家这么久,对于专业技能你落下了多少? 2月份GitHub上最热门的开源项目排行已经出炉啦,和我一起来看看上榜详情: 1 ...
- 简单认识Samba服务以及Linux操作系统下部署案例解析
1.首先在介绍Samba服务之前我们先来简单的认识一下SMB协议.SMB(Server Message Block)通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主 ...
最新文章
- 补课系列:最小生成树
- 数据中心的未来:一体化无人值守
- Quartz.Net分布式任务管理平台
- class(一)--类的创建
- Linux系统扩硬盘,Linux系统硬盘扩容
- c语言程序命令行,ttyd(C语言编写的命令行程序) v1.3.1 免费版
- Window.ShowModalDialog使用手册
- Mac电脑直接拔掉U盘和移动硬盘会有什么影响
- 自创解决键盘最后退出的问题
- UCHOME ajaxmenU()用法
- java 阶乘算法_Java 实现阶乘算法
- html文件vbs病毒,又一个VBS病毒源码的解密
- win11 edge怎么卸载?win11 edge浏览器彻底卸载的方法教程
- maya导入abc动画_mayaamp;max文件导出fbx
- 【安全】如何防止他人恶意调试你的web程序
- ADSL共享方法总结(转)
- JavaScript:实现返回格式化的电话号码的字符串算法(附完整源码)
- 论语 宪问篇(笔记)
- 力扣第292题“Nim游戏”的解题思路
- OGNL学习笔记-OGNL基础