分类 建站学习 下的文章

一、邮箱注册

操作如下:

在Git Bash界面输入如下内容即可完成邮箱的注册:

git config --global user.name "user.name"
#说明:双引号中需要你的用户名,这个可以随便输入,我的用户名"TonaSmith"

git config --global user.email "yourmail@youremail.com.cn"
# 说明:双引号中需要输入你的有效邮箱,比如“12131312@qq.com”)

二、查看SSH KEY

cd ~/.ssh
#若出现“No such file or directory”,则表示需要创建一个ssh keys

ssh-keygen -t rsa -C "你的邮箱名"
#指定目录: C:\deskbook\(说明:若在此处不输入路径,而直接按回车,则ssh keys生成后存放的路径为C:\User\.ssh)
输入密码: 123456
确认密码: 123456

三、设置SSH密钥

  1. 如此即可在C:\deskbook\文件夹中生成ssh keys。包括两个文件rd_rsa和id_rsa.pub
  2. 然后找到rd_rsa和id_rsa.pub所在目录打开idb_rsa.pub(可以把后缀名改成.txt),登录自己的GitHub账号,找到Settings
  3. 进入Settings后,点击SSH and GPG keys,然后再点击右上角添加新密钥按钮New SSH key
  4. 然后,将idb_rsa.pub里的内容拷贝到Key内,Title内容随便填,确定即可。密钥添加完成,下次在使用时就不需要再添加密钥了。

四、新建目录

五、上传文件

如下代码上传Github

git init
#初始化本地文件夹,设置为可供Git管理的仓库

git pull 远程仓库地址 master
#例如git pull https://github.com/TonaSmith/imgs.git master

git add .
#将所有的文件和文件夹加载到本地仓库缓存
#如果只提交单个文件,如下命令

git add 1.text
#确保文件在.git同路径之下

git commit -m "首次提交"
#用git commit -m "日志名字" 把项目日志加载到本地仓库缓存

git remote add origin 你的远程仓库地址
#例如:git remote add origin https://github.com/TonaSmith/imgs.git
#关联本地和远程仓库

git push -u origin master
#空仓库提交(未设置READ.MD)

git pull --rebase origin master
#空仓库提交(设置READ.MD),先合并仓库再PUSH
git push -u origin master

git push origin master
或者
git push 远程仓库地址 master
#例如:git push https://github.com/TonaSmith/imgs.git master
或者
git push
#旧仓库提交

一、打开微信电脑版

二、找到通讯录页面

三、全屏通讯录页面

四、新建xxx.py的文件

1.复制如下内容,并运行程序

import win32api
import ctypes
import time
import random
rand_time=random.uniform(0,1)
# 和所有的公众号说再见,包括我自己的公众号!~
# 定义鼠标左侧单击函数
def left_press(x, y, button=1):
    buttonAction = 2 ** ((2 * button) - 1)
    win32api.mouse_event(buttonAction, x, y)
# 定义鼠标左侧单击释放函数
def left_release(x, y, button=1):
    buttonAction = 2 ** ((2 * button))
    win32api.mouse_event(buttonAction, x, y)    
# 定义鼠标右侧单击函数
def right_press(x, y, button=2):
    buttonAction = 2 ** ((2 * button) - 1)
    win32api.mouse_event(buttonAction, x, y)
# 定义鼠标右侧单击释放函数
def right_release(x, y, button=2):
    buttonAction = 2 ** ((2 * button))
    win32api.mouse_event(buttonAction, x, y)   
# 定义鼠标移动函数
def move(x, y):
    ctypes.windll.user32.SetCursorPos(x, y)
# 最小化程序运行的窗体,并且移动到LOGO的显示坐标位置
# (1180,15)程序运行的窗体坐标位置
# 移动到坐标
time.sleep(1)
move(x=1180,y=15)
# 休眠1s
time.sleep(rand_time)
# 点击
left_press(x=1180,y=15)
# 释放鼠标左键
left_release(x=1180,y=15)
for i in range(30):
    # (613,173)公众号LOGO的坐标位置
    time.sleep(rand_time)  
    move(613,120)
    right_press(613,120)
    right_release(613,120)
    # 左击“取消关注”
    time.sleep(rand_time)  
    move(633,185)
    left_press(633,185)
    left_release(633,185)
    # 点击确定
    time.sleep(rand_time)  
    move(700,430)
    left_press(700,430)
    left_release(700,430)

2.默认循环30次,也就是取消30个公众号。如果想要自定义个数,可以用这个代码

import win32api
import ctypes
import time
import random
numbers=input("请输入取消的公众号次数:")
rand_time=random.uniform(0,1)
# 和所有的公众号说再见,包括我自己的公众号!~
# 定义鼠标左侧单击函数
def left_press(x, y, button=1):
    buttonAction = 2 ** ((2 * button) - 1)
    win32api.mouse_event(buttonAction, x, y)
# 定义鼠标左侧单击释放函数
def left_release(x, y, button=1):
    buttonAction = 2 ** ((2 * button))
    win32api.mouse_event(buttonAction, x, y)    
# 定义鼠标右侧单击函数
def right_press(x, y, button=2):
    buttonAction = 2 ** ((2 * button) - 1)
    win32api.mouse_event(buttonAction, x, y)
# 定义鼠标右侧单击释放函数
def right_release(x, y, button=2):
    buttonAction = 2 ** ((2 * button))
    win32api.mouse_event(buttonAction, x, y)   
# 定义鼠标移动函数
def move(x, y):
    ctypes.windll.user32.SetCursorPos(x, y)
# 最小化程序运行的窗体,并且移动到LOGO的显示坐标位置
# (1180,15)程序运行的窗体坐标位置
# 移动到坐标
time.sleep(1)
move(x=1180,y=15)
# 休眠1s
time.sleep(rand_time)
# 点击
left_press(x=1180,y=15)
# 释放鼠标左键
left_release(x=1180,y=15)
for i in range(numbers):
    # (613,173)公众号LOGO的坐标位置
    time.sleep(rand_time)  
    move(613,120)
    right_press(613,120)
    right_release(613,120)
    # 左击“取消关注”
    time.sleep(rand_time)  
    move(633,185)
    left_press(633,185)
    left_release(633,185)
    # 点击确定
    time.sleep(rand_time)  
    move(700,430)
    left_press(700,430)
    left_release(700,430)

五、操作演示

六、特别说明

1.我的电脑是1920x1080分辨率,所以上述的坐标也只对这个分辨率起作用
2.运行程序时,保证通讯录页面全屏且在VSCODE程序的下面
3.代码写的很烂,主要不是科班出身,还需要加倍努力!

一、网站优化

这两天由于谷歌字体反代域名(fonts.maho.cc)出现了一些问题,使得网站前端长期卡在加载字体CSS文件上,导致网站响应速度飙到了15秒+,这是一个亟待解决的问题。

(一)修改谷歌字体API地址

如果你使用的也是Theme Sakurairo by Fuukei的话,请直接打开后台的设置按钮,然后搜索“字体”,将Google字体API的默认设置(fonts.maho.cc)替换为原生的谷歌字体地址(fonts.googleapis.com)。说实话反代的速度不见得比原生的快多少,主要是Google官方老抽风,不然谁愿意花那个闲工夫反代。

(二)修改特效字体链接地址

第二个要修改的是白猫特效字体。在后台搜索“LOGO”,然后修改“字体链接”项目中的(fonts.maho.cc)替换为原生的谷歌字体地址(fonts.googleapis.com)。如下图所示啦。

优化之后的响应速度大概可以快10秒左右,有时候随机图片大小给力的话甚至会在毫秒级别完成加载。现在看似解决起来老简单了,实际上倒腾了一整天,因为第2点步骤的修改路径我一直没有找到,所以就去了源代码,甚至去了数据库里面更改了,但结果都是没用。我在改数据库的时候还把前台的JS弄乱了,我也不知道是什么鬼,反正就是改完了以后前台效果直接炸了,听起来挺魔幻的。

二、搭建随机图片API

说实话,这玩意是真的老简单了。主要是原生的随机图片有点花哨且不再适合我奔三之人了,自然想改,加上最近把大学三年拍的一些照片整理出来了,索性就用这些照片做一个随机图片API来给我博客润色一下,等毕业了自己打开网站也能玩味一番。

(一)创建index.php

1.在本地创建“index.txt”文件

将下面代码输入并保存修改文件格式为index.php。(前缀名称用pc.php或者mobile.php都行)

<?php
//存有美图链接的文件名img.txt
//和创建的含有图片地址的txt文件同名,且一定要放在和PHP文件同目录下
$filename = "randimgs.txt";
if(!file_exists($filename)){
    die('文件不存在');
}
//从文本获取链接
$pics = [];
$fs = fopen($filename, "r");
while(!feof($fs)){
    $line=trim(fgets($fs));
    if($line!=''){
        array_push($pics, $line);
    }
}
//从数组随机获取链接
$pic = $pics[array_rand($pics)];
//返回指定格式
$type=$_GET['type'];
switch($type){
//JSON返回
case 'json':
    header('Content-type:text/json');
    die(json_encode(['pic'=>$pic]));
default:
    die(header("Location: $pic"));
}
?>

2.将PHP文件上传二级域名根目录或者主站二级目录

(二)创建一个imgs.txt文件

2.1将图片链接以一行一个的顺序填入之后保存,比如如下图片链接。(前缀随便咋起)

图片可以托管在Github或者Gitee,也可以是自己的服务器上面,我这个是在自己的服务器主站根目录下托管的图片。

https://caoyongzhuo.cn/randimgs/pcimgs/1.webp
https://caoyongzhuo.cn/randimgs/pcimgs/2.webp
https://caoyongzhuo.cn/randimgs/pcimgs/3.webp
https://caoyongzhuo.cn/randimgs/pcimgs/4.webp
https://caoyongzhuo.cn/randimgs/pcimgs/5.webp
https://caoyongzhuo.cn/randimgs/pcimgs/6.webp
https://caoyongzhuo.cn/randimgs/pcimgs/7.webp
https://caoyongzhuo.cn/randimgs/pcimgs/8.webp
https://caoyongzhuo.cn/randimgs/pcimgs/9.webp
https://caoyongzhuo.cn/randimgs/pcimgs/10.webp

2.2一个一个添加链接很麻烦,所以可以用Python自动完成

//不要什么都抄,自己看着抄
filename="D:\\常用软件\\阿里云盘\\webp\\randimgs.txt"
randimgs=open(filename,"a")
for numbers in range(1,154):
    randimgs.write("https://caoyongzhuo.cn/randimgs/pcimgs/"+str(numbers)+".webp\n")
randimgs.close()

(三)图片的优化

最好的建议就是使用webp格式压缩JPG与PNG甚至是BMP图片文件的大小,因为这几个格式的图片小则3、5M,大则10M左右,前台网页会一直发起请求直至图片响应,所以拖垮速度是必然。

3.1批量更改文件名
使用Utools的文件批量命名工具,改换所有文件前缀,方便统一管理。

3.2批量更改WEBP格式
使用XnCovernt的文件批量命名工具,改换所有文件后缀,大规模缩小体积。

(四)测试环节

将PHP和含有图片链接的TXT文件放在服务器同一目录下,输入PHP所在网址,出现图片就成功了,我这里的地址是(https://caoyongzhuo.cn/randimgs/pc.php

三、欣赏环节

1.去官网下载.zip格式安装包

Nginx: Download

2.解压

把ZIP解压到某个固定的文件夹,不要使用中文目录。建议解压到某个磁盘的根目录

3.修改配置文件

找到/conf/nginx.conf文件,并编辑

在大概第36行的位置,找到listen和server_name。

listen就是Nginx的监听端口,默认为80,例如,可以改成8081。

server_name就是Nginx的监听的主机名,一般不用改。

改完配置文件之后,运行nginx.exe,看到有一个窗口一闪而过,说明运行成功。

输入localhost:8081,看到欢迎界面,就配置成功了。

4.CMD进入主程序目录使用命令

查看nginx的版本号
nginx -v

启动
start nginx

重载配置
nginx -s reload

快速停止或关闭
nginx -s stop

正常停止或关闭
nginx -s quit

5.修改默认的Nginx目录,默认是html目录

找到/conf/nginx.conf文件,并编辑

将默认目录改为自己想要的。例如 D:\下载的图片D:/下

然后在CMD中输入: nginx -s reload 重载配置

6.同一个端口下监听多个网站,以80为例

  • 忍忍吧,Teambition的普通代码都是没得高亮的

1. 在html文件夹中创建三个web静态资源项目:

2. html内容如下展示:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>nginx网站项目one</title>
</head>
<body>
    <h3>web one , you konw ?</h3>
</body>
</html>

3. 在hosts文件中新增ip域名映射

  • 这是hosts的地址 C:\Windows\System32\drivers\etc\hosts
127.0.0.1 webone.com
127.0.0.1 webtwo.com
127.0.0.1 webthree.com

4. 在conf目录下新建conf-server/test.conf,且填写以下内容


server {
    listen       80;   #注意这里,要把默认的那个default_server去掉,因为我们在下面要单独配置域名访问,所以这里不要留default_server,不然会报错。
    server_name  webone.com;  #这里写你想设置的域名,可以写多个,与名之间用空格隔开
    # root         D:/me/nginx/nginx-1.15.7;   #这里是你虚拟机的根目录,写绝对路径
    # Load configuration files for the default server block.

    location / {
        root   html/web1;
        index  index.php index.html index.htm;  #这里配置默认访问的页面
    }
}

server {
    listen       80;
    server_name  webtwo.com;
    root         D:/me/nginx/nginx-1.15.7; 

    location / {
        root   html/web2;
        index  index.php index.html index.htm; 
    }
}

server {
    listen       80;
    server_name  webthree.com;
    root         D:/me/nginx/nginx-1.15.7;  

    location / {
        root   html/web3;
        index  index.php index.html index.htm;  
    }
}

5.在nginx.conf中引入该配置文件 * 核心步骤,路径不要写错

include server-conf/*.conf;
# 注意不要写成 conf/include server-conf/*.conf;

6.重启服务,效果如下

nginx -s reload

7.代理配置

接下来我们在上面的基础上新增代理配置

webthree.com 配置情况修改如下:

server {
    listen       80;
    server_name  webthree.com;
    root         D:/me/nginx/nginx-1.15.7;  

    location / {
        index  index.php index.html index.htm;
        proxy_pass   https://www.kugou.com/;
        #以下是一些反向代理的配置可删除

        #以下是一些反向代理的配置可删除

        #proxy_redirect             off; 

        #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP

        #proxy_set_header           Host $host; 
        #proxy_set_header           X-Real-IP $remote_addr; 
        #proxy_set_header           X-Forwarded-For $proxy_add_x_forwarded_for; 
        #client_max_body_size       10m; #允许客户端请求的最大单文件字节数
        #client_body_buffer_size    128k; #缓冲区代理缓冲用户端请求的最大字节数
        #proxy_connect_timeout      300; #nginx跟后端服务器连接超时时间(代理连接超时)
        #proxy_send_timeout         300; #后端服务器数据回传时间(代理发送超时)
        #proxy_read_timeout         300; #连接成功后,后端服务器响应时间(代理接收超时)
        #proxy_buffer_size          4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
        #proxy_buffers              4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
        #proxy_busy_buffers_size    64k; #高负荷下缓冲大小(proxy_buffers*2)
        #proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传 
    }
}
  • 效果如下