分类 电脑技巧 下的文章

1.安装依赖

sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd

2.安装Postfix

sudo yum install -y postfix
sudo systemctl enable postfix
sudo systemctl start postfix

3.防火墙开放服务&重载

sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

4.部署社区版 gitlab-ce

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install -y gitlab-ce

5.gitlab重新配置地址

sudo vi /etc/gitlab/gitlab.rb

修改 external_url ‘127.0.0.1’, 保存退出, 然后刷新一下gitlab配置

sudo gitlab-ctl reconfigure

6.在VM 中 修改网络连接方式为brige, 这样虚拟机就和我们在同一个局域网里了

7.在自己电脑上访问gitlab, 如果不知道虚拟机Ip, 可以使用命令 Ip addr , 查看, 或者在路由器后台查看

第一次访问会提示修改密码

0. 前言

git , 是一款版本控制软件, 它可以轻松地控制你的项目版本

在没有它的情况下,我一直都是通过重命名文件夹为版本名称(号)然后将相关的文件都复制进去,这么做不但会占用非常多的磁盘容量,而且操作十分繁琐,无法进行良好的团队协作

现在有了GIT它可以帮助我们轻松地控制版本,以及团队协作

1. 安装git

git 官网 https://git-scm.com/downloads下载对应自己系统的git 安装包,如果下载速度过慢,可以选择通过 腾讯软件中心 下载

这里简述以Windows系统为例的安装过程, 基本上在开始 配置好它的安装文件夹就可以直接一直点下一步了

如果在安装上遇到困难,请自行搜索 安装教程,本文不再一一细讲

2. 初识git

接下来我们将 举一个例子来让你更好的理解 git 的工作方式,我们将以Windows 作为例子中的环境

我们在任意一个磁盘内 ,假设为D盘

新建一个文件夹, 假设为 myProject

右键单击鼠标,点击 Git Bush Here…

( 如果你的右键菜单中没有这个选项, 在cmd 中 转到当前目录也是可以的 )

我们输入以下命令来创建一个 git 仓库

git init

如果你的文件夹选项中打开了 显示隐藏文件夹 ,你将会看见一个新的 名为 .git 的文件夹出现在目录中 

并且 你将看到在 git bush 中 在 文件夹后 多了一个 蓝色的 master , 这个叫做分支,我们以后会讲

3. git add & git commit

我们现在 在这个 空空如也 的 myProject文件夹 中

新建一个 文本文件, 假设名为 hi.txt

在这个文本文件中 任意 输入一些内容, 假设为 this is the first txt file content.

接下来我们就可以 在git bush 中输入

 git add hi.txt

将 hi.txt 加入 git 的 “监听” 当中,接下来我们使用命令

git commit

这时候我们看到在 git bush 中出现了非常多的提示 ,类似 如下

*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got '[email protected](none)')

翻译过来就是 git 需要你, 通过 填入自己的邮箱和名字 来告诉它 你是谁

它也给了两条命令来定义我们的邮箱和名字

假设我的邮箱为 [email protected] , 我的名字为 lanhaoo , 那么对应的代码就是

  git config --global user.email [email protected]
  git config --global user.name lanhaoo

看,这样我们就能设置好我们的邮箱和我们的名字了

接下来我们就可以 以 lanhaoo的身份git commit 提交 我们的文件,那么我们就输入命令

git commit

然后你可以看到 git bush进入了一个类似于 Linux 中的文本编辑器界面, 按键盘上的“I”键就可以进入编辑模式

这里 git bush是想让我们 对本次commit 提交 输入一个描述信息。这样在以后的历史记录当中我们可以清楚地看到每次提交 的 变化

假设我们本次的描述为 my first commit

接下来想要退出这个编辑器 我们只需按一下 键盘左上角的 esc 键,然后输入:wq 后回车即可,更多命令可以参考 Linux 中 vim 的使用方式

我们完成了我们的第一次提交!

接下来我们 变更我们 hi.txt文件的内容,我们在文件内多输入一行 任意内容

现在文件的内容 类似这样:

this is the first txt file content.
second commit content, just need to write something

保存文本文件,接下来我们再次运行命令

git commit

这个时候 git bush又出错了 它的提示例如以下

On branch master
Changes not staged for commit:
        modified:   hi.txt

no changes added to commit

翻译过来就是 在分支 master中,修改过的hi.txt文件 没有加入到commit中,看到了吗? git add的真正作用是将修改后的文件加入到准备提交的”队列”中, 而 git commit 可以将 队列加入到 我们的master 分支中

所以我们现在只需要 将修改后的hi.txt文件 使用 git add命令加入到 待提交到 master 分支 的队列中就可以了,所以我们使用命令

git add hi.txt

接下来就可以使用 git commit 命令,将“队列” 提交到master分支了

git commit

我们可以看到 那个熟悉的编辑界面又来了,我们只要编写一些任意内容, 就可以完成我们的第二次提交了

还记得 要怎样使用这个编辑器吗?按 “ I ” 键进入编辑模式, 按esc 键后输入:wq 可以保存并退出

然后我们就完成了我们的第二次提交! git bush 也会显示文件的相关 删改信息

也许你会想看一看我们的提交记录了!

我们使用命令 git log 就可以看到我们的提交记录,快试试吧

git log

当你按下回车的那一刻 我们的git bush 会显示类似下面的这些内容

commit 05ecac07f5cf8f0b20b2cea1a5d85bb7c082b49a (HEAD -> master)
Author: lanhaoo <[email protected]>
Date:   Mon Oct 14 10:38:50 2019 +0800

    second commit

commit a574e7d6609b0fafb0083f72daadb4ee165c1079
Author: lanhaoo <[email protected]>
Date:   Mon Oct 14 10:22:07 2019 +0800

    my first commit

你可以看到,这里有我们第一次提交的,描述内容为 my first commit 的日志

以及 我们刚刚第二次提交的 second commit

4: git Gui

也许你已经注意到了在你的右键菜单中,除了多出的git bush 还有一个 git gui,它是一个图形管理界面

我们可以在我们现在这个假设文件夹 myProject 中 右键单击,点击 Git Gui Here 打开它

如果你按照 我们上面的步骤 走下来, 你可能看到 git gui 中 都是空的(因为我们目前并没有修改过的,以及待提交的文件)

接下来我将同样通过操作来描述 这几个区域

我们修改 hi.txt 内容任意, 类似下面

this is the first txt file content.
second commit content, just need to write something

third, I'm using GUI

保存后,我们看到gui中依旧空空如也,因为gui还没有更新, 我们只需要按下F5 ( Rescan 按钮 也可以) 键 就可以 刷新 GUI 了

我们可以看到有两个白色框中出现了内容,一个是Unstaged Changes 中出现了hi.txt

一个是Modified, not staged 中出现了一些 由 git自动生成的一些 你的文件删改记录

接下来我们点击 Stage Changed 按钮, 可以看到 hi.txt 的位置换到了下面的Stage Changed (Will Commit )框中, 右上 Modified, not staged 中的内容消失了

我们在右下 Commit Message(提交信息)中输入一些提交的描述

假设为 THIRD commit……

点击 commit 按钮

所有的白色框又变成了 空的, 实际上我们已经提交成功了

在顶部 Repository中,选择 Visuallize all branch’s history

这时候弹出的新窗口将会展示我们所有分支的提交 (commit) 记录

继续学习

完成这些后你就可以在 这个http://learngitbranching.js.org/ 网站中完成剩下的学习

在其他网站上看到的! , 使用下面的脚本来自动清理 Ubuntu系统中无用的内核, 不多说, 直接放脚本:

#!/bin/bash
CurCore="linux-image-`uname -r`"
CurCoreExtra="linux-image-extra-`uname -r`"
echo "清理无用的内核"
echo "当前内核是:$CurCore"
for i in `dpkg --get-selections|grep linux-image`
do
if [ "$i" != "install" ] && [ "$i" != "$CurCore" ]  && [ "$i" != "$CurCoreExtra" ] && [ "$i" != 'linux-image-generic' ];then
echo "删除无用的内核:$i"
sudo apt-get remove --purge $i
fi
done
echo "更新启动菜单"
sudo update-grub
sudo apt-get autoremove
sudo apt-get autoclean

- 阅读剩余部分 -

  1. 如果没有nginx源码,就下载一份源码
  2. 在源码目录中src文件夹,解压下载好的pagespeed压缩包

  3. 使用命令查看当前Nginx的编译参数。

    nginx -V
  4. 得到现在的编译参数(在“configure arguments:”后面都是)
  5. 然后在末尾加上 --add-module=./src/incubator-pagespeed-ngx-latest-stable(这里应该是Pagespeed的路径。我们刚刚把Pagespeed解压到了nginx源码里的src文件夹,所以路径应该是./src/incubator-pagespeed-ngx-latest-stable,如果需要请更换自己的路径)
  6. 然后整条命令看起来像是这样
    ./configure --user=www --group=www --prefix=你的编译参数 --add-module=./src/incubator-pagespeed-ngx-latest-
    stable
  7. 上面的运行完之后推荐先把nginx停止,然后 make && make install

  8. 在任意地方创建一个用于Pagespeed的缓存文件夹
  9. 然后修改文件夹权限
    chown -R www:www 你的文件夹路径
  10. 然后进入nginx的conf文件夹,配置服务器的设置

把下面的配置粘贴到server中即可

pagespeed on;
pagespeed RespectVary on;
pagespeed LowercaseHtmlNames on;
pagespeed DisableRewriteOnNoTransform off;
pagespeed PreserveUrlRelativity on;
pagespeed FileCachePath "/path/to/your/cache 这里是你刚刚建立的缓存文件夹路径";

#缓存大小,清理周期
pagespeed FileCacheSizeKb 102400;
pagespeed FileCacheCleanIntervalMs 3600000;
pagespeed FileCacheInodeLimit 500000;

pagespeed EnableFilters collapse_whitespace;
pagespeed EnableFilters remove_comments;
pagespeed EnableFilters insert_dns_prefetch;
pagespeed EnableFilters rewrite_css;
pagespeed EnableFilters combine_css;
pagespeed EnableFilters prioritize_critical_css;
pagespeed EnableFilters inline_google_font_css;
pagespeed EnableFilters rewrite_javascript;
pagespeed EnableFilters combine_javascript;
pagespeed EnableFilters rewrite_style_attributes;
pagespeed EnableFilters rewrite_images;
pagespeed LazyloadImagesAfterOnload off;
pagespeed EnableFilters inline_preview_images;
pagespeed EnableFilters resize_mobile_images;
pagespeed EnableFilters extend_cache;

如果你是Wordpress用户,可以使用下面的来过滤掉后台和登陆界面

pagespeed RewriteLevel PassThrough;
pagespeed Disallow "*/wp-admin/*";
pagespeed Disallow "*/wp-login.php*";

参考:[1] https://developers.google.com/speed/?hl=zh-CN&utm_source=PSI&utm_medium=incoming-link&utm_campaign=PSI

[2]https://www.modpagespeed.com/doc/system

[3] https://vircloud.net/build/nginx-pagespeed.html

btmp是什么?它 是系统记录登陆失败的 日志文件,使用以下命令来清空此文件,切勿直接删除, 别忘了那个大于号!! 

> /var/log/btmp

  1. 使用last 命令来查看所有登录成功的记录
  2. lastb来查看所有登陆失败的记录
  3. lastlog来查看最近登陆信息

我们可以通过修改ssh端口号来减少暴力破解次数, 这样日志文件也会变小

- 阅读剩余部分 -