当前位置: 首页 > news >正文

做网站不买服务器百度能搜到88个seo网站优化基础知识点

做网站不买服务器百度能搜到,88个seo网站优化基础知识点,flash网站的优势,重庆微信网站制作费用本文主要是总结这些年自己在家玩互联网服务的心得收获, 同时随着年龄增大, 发现脑子确实越来越不好用, 只有记录到笔记中才是真正有意义的。 学生时期做了一些实验, 比如给实验室做日报系统、管理10多台服务器,当时学习了很多架构设计的知识,比如集群化…

本文主要是总结这些年自己在家玩互联网服务的心得收获, 同时随着年龄增大, 发现脑子确实越来越不好用, 只有记录到笔记中才是真正有意义的。

学生时期做了一些实验, 比如给实验室做日报系统、管理10多台服务器,当时学习了很多架构设计的知识,比如集群化部署服务,如何增加存储速度,如何容灾部署,如何主备切换,后来也如愿以偿的进入到了云计算大厂,且有幸参与了云计算大厂的集群化基础设施服务,主要是对象存储方面的开发、运维设计等工作,成功将以前所学融汇贯通,如信息采集、告警监控Alarm(拨测、指标、日志)、变更审计、硬件维护、问题管理、知识库、安全登录;集群化部署自然有其好处,但是从运维、变更等角度讲复杂性显著提高。

作为工程师对于服务架构较为感兴趣, 同时也对实际应用感兴趣, 因此常常关注b站新服务, 而我本地在家也搭建了很多实用服务, 比如NAS影音系统jellyfin、喜欢玩智能家居的人不可能不知道mqtt服务和Homeassistant服务、喜欢炼丹的人不能不知道jupyter、做定时任务撸羊毛的青龙、系统监控的宝塔、docker后台portaine、博客halo;显然上面的所有服务都是通过docker一键完成安装,并且都是单体应用,不涉及容灾也不涉及备份,因为挂了就挂了反正数据在硬盘了,如果硬盘也坏了,数据也不重要。。。。那么当一个人在本地部署了这么多服务,出门在外的自己还能访问家里的资源将变得尤为重要;

恰好之前活动,120买了三年的云服务器,还带公网IP,于是果断选择了Frp 作为内网穿透的工具,frp可以将内网的端口映射到server的端口,比如本地服务端口8080,设置frp映射到996,那么通过官网IP:996进行访问,实际访问的便是本地IP:8080

后来又购买了域名,其实对域名解析不太了解,只知道购买域名要映射到公网IP,也就是一个域名对应一个公网IP,当时的问题是一个域名只能对应一个服务,如何将很多服务都加上呢?最蠢的方案来了,通过域名加端口的方式,比如域名是zjq2048.cn,那么加上端口不就能对应上不同的服务了么,比如访问996端口,就zjq2048.cn:996,传说中的CNAME和TXT域名解析设置,还真的持续了一段时间,直到有一天又学到了nginx域名转发,才发现原来可以通过设置二级域名,直接用nginx来解析访问的二级域名,在根据二级域名来解析到对应的端口即可,于是乎就有了域名解析→nginx解析→内网穿透→本地各个服务的架构设计如下图所示

实际上互联网的业务逻辑其实跟下面很像,不过是将所有的服务拆分到不同的机器上(我这里就一个主机,all in one),每个机器(多个节点)对应一个服务,每个服务对应一个二级域名,在通过集群型nginx做LVS负载均衡,最终由redis这种分布式缓存做数据强一致性校验,再由数据库做主备和容灾切换和备份。

将下面一套流程玩转,至少互联网大部分知识点都涉及到了,剩下的细节知识需要靠日积月累也要靠问题解决堆出来,不过有了一个整体的架构设计方向,在处理问题、新业务架构设计都能有非常大的帮助。

1. 总设计架构

在这里插入图片描述

下面就是我的all in one 了

常用docker命令

# 更新容器more重启
docker update --restart=always 容器名称# 连接WiFi
nmcli device wifi connect 'Wifi007' password 'duzejiang555'
nmcli c down 'Wifi007' # 关闭WiFi后面跟这个, 加速下载
registry.cn-beijing.aliyuncs.com/dusays/wechatbot/wechatbot:latest

frp内网穿透

域名解析, 设置云服务器IP, 对应tools.zjq2048.cn

在这里插入图片描述

云服务器上面的Nginx转发, 云服务器的端口6667对应tools.zjq2048.cn

# 本地服务, 8082的端口, TCP映射到这个云服务器的6667端口
# 在通过Nginx将6667端口映射成tools.zjq2048.cn上
server {listen       80;server_name  tools.zjq2048.cn;location / {proxy_pass http://127.0.0.1:6667/;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}

frpc配置

[ssh-n5105-ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6666#  这里本地的8082服务, 通过tcp转发给远程服务器6667
[ssh-n5105-tools]
type = tcp
local_ip = 127.0.0.1
local_port = 8082
#custom_domains = tools.zjq2048.cn
remote_port = 6667

默认开机自启动

sudo vim /lib/systemd/system/frpc.service
[Unit]
Description=fraps client service
After=network.target syslog.target
Wants=network.target[Service]
Type=simple
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/home/zjq/.frp/frpc -c /home/zjq/.frp/frpc.ini[Install]
WantedBy=multi-user.targetsudo systemctl enable frpc
sudo systemctl start frpc
sudo systemctl restart frpc
sudo systemctl stop frps # 停止服务
sudo systemctl status frps # 查看服务日志

开启热点

创建WiFi热点使用的GitHub上一个开源项目: 
https://github.com/oblique/create_ap#将代码copy到本地,安装
sudo git clone https://github.com/oblique/create_ap
cd create_ap
sudo apt-get install util-linux procps hostapd iproute2 iw -y
ifconfig查询wlan口
sudo create_ap wlan0 eth0 账号 密码
sudo ./create_ap wlo2 wlo2 zjq 密码

配置服务自启动


sudo vim /lib/systemd/system/ap.service # frpc就是对应的systemctl服务# 写入下面内容---------------------------------------------------------------
[Unit]
Description=create ap
After=network.target syslog.target
Wants=network.target[Service]
Type=simple
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/share/software/create_ap wlo2 wlo2 账号 密码[Install]
WantedBy=multi-user.target
# --------------------------------------------------------------sudo systemctl start frpc # 然后就启动frpc
sudo systemctl enable frpc # 再打开开机自启动
sudo systemctl restart frpc # 重启服务
sudo systemctl stop frps # 停止服务
sudo systemctl status frps # 查看服务日志

docker管理

docker volume create portainer_data
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce浏览器访问 :9000

安装青龙面板

https://zhuanlan.zhihu.com/p/596197020

docker run -dit -v $PWD/ql:/ql/data -p 5700:5700 --name ql --hostname ql --restart unless-stopped whyour/qinglong:latest
# 浏览器登录
192.168.3.12:5700
开始安装
通知设置选择跳过
设置账号密码
登录邮箱
zjq2048qq.com
kruntbgkqiaobjbh
上面是秘钥

增加js依赖

依赖管理
Nodejs新建依赖点击自动拆分
crypto-js
prettytable
dotenv
jsdom
date-fns
tough-cookie
tslib
ws@7.4.3
ts-md5
jsdom -g
jieba
fs
form-data
json5
global-agent
png-js
@types/node
require
typescript
js-base64
axios
moment
ds

增加python依赖

点击自动拆分
requests
canvas
ping3
jieba
aiohttp
ql repo https://js.dayplus.xyz/https://github.com/6dylan6/jdpro.git "jd_|jx_|jddj_" "backUp" "^jd[^_]|USER|JD|function|sendNotify"ql repo https://git.metauniverse-cn.com/https://github.com/shufflewzc/faker3.git "jd_|jx_|gua_|jddj_|jdCookie" "activity|backUp" "^jd[^_]|USER|function|utils|sendNotify|ZooFaker_Necklace.js|JDJRValidator_|sign_graphics_validate|ql|JDSignValidator|magic|depend|h5sts" "main"

安装宝塔面板

docker run -tid --name baota -p 8180:80 -p 8143:443 -p 3306:3306 -p 8148:8888 -p 8138:888 -p 8120:20 -p 8121:21 -p 8122:22 -p 6379:6379 -p 6001:6001 --privileged=true --restart always pch18/baotadocker exec -it baota bash    #进入docker宝塔容器
rm -f /www/server/panel/data/admin_path.pl   #关闭安全出口
bt default    #重置宝塔面板的登陆账号及密码,后期进入面板后可手动修改
password密码错误的话就输入 bt 5http://192.168.3.12:8148/login 进行访问了,正常部署一点问题都没有。docker run -tid --name baota -p 8180:80
-p 8143:443 # 用于SSL访问
-p 3306:3306 # mysql数据库
-p 8148:8888 # 管理面端口
-p 8138:888 # 数据库服务器端phpmyadmin
-p 8120:20  # 将容器的20和21端口映射到主机的20和21端口,用于FTP访问
-p 8121:21  # 将容器的20和21端口映射到主机的20和21端口,用于FTP访问
-p 8122:22 
-p 6379:6379 # redis数据库
-p 6001:6001 
--privileged=true --restart always pch18/baota

安装卡夫卡

–restart=always
https://juejin.cn/post/6960820341631352868

#参数说明:
-e KAFKA_BROKER_ID=0  在kafka集群中,每个kafka都有一个BROKER_ID来区分自己
-e KAFKA_ZOOKEEPER_CONNECT=192.168.124.28:2181/kafka 配置zookeeper管理kafka的路径192.168.124.28:2181/kafka
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.124.28:9002  把kafka的地址端口注册给zookeeper,如果是远程访问要改成外网IP,类如Java程序访问出现无法连接。
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9002 配置kafka的监听端口-v /etc/localtime:/etc/localtime 容器时间同步虚拟机的时间# 1. 下载docker镜像
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka# 2. 启动zookeeper (单机方式)
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper# 3. 启动kafka (单机方式)
注:下面启动命令中的IP(192.168.213.213)需要更换为你的服务器/虚拟机的静态IP
docker run -d --name kafka \
-p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=192.168.213.213:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.213.213:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka# 4. 测试搭建的kafka是否可以正常进行发布/消费消息
如果使用的是xshell麻烦开两个窗口,一个provider发布消息,一个consumer消费消息第一个窗口:
4.1. 查看当前正在运行的容器(zookeeper和kafka)
docker ps
4.2. 进入kafka容器
docker exec -it 容器id /bin/bash
4.3. 进入kafka脚本启动目录
cd /opt/kafka_2.13-2.8.1/bin
4.4. 启动发布消息脚本,并创建test的topic
./kafka-console-producer.sh --broker-list localhost:9092 --topic test
4.5. 上条命令执行后,现在你可以发送消息了,等一会consumer脚本启动后就可以看到消费到的消息了第二个窗口:
4.1. 查看当前正在运行的容器(zookeeper和kafka)
docker ps
4.2. 进入kafka容器
docker exec -it 容器id /bin/bash
4.3. 进入kafka脚本启动目录
cd /opt/kafka_2.13-2.8.1/bin
4.4. 启动发布消息脚本,并创建test的topic
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
4.5. 上条命令执行后,现在你可以看到刚才发送的消息了

mqtt

# http://t.csdn.cn/PqPEo
docker run -dit --name emqx -p 18083:18083 -p 1883:1883 -p 8083:8083 -p 8084:8084 emqx/emqx:latest
浏览器登录: http://192.168.3.12:18083/#/dashboard/overview
admin 密码是public18083 管理控制端口
1883 mqtt协议端口
8083 MQTTwebSocket端口# 认证方式
https://blog.csdn.net/weixin_43869518/article/details/127558282

mqtt客户端校验

# 注意: 明文把加盐改成disableCREATE TABLE IF NOT EXISTS `mqtt_user` (`id` int(11) unsigned NOT NULL AUTO_INCREMENT,`username` varchar(100) DEFAULT NULL,`password` varchar(100) DEFAULT NULL,`salt` varchar(35) DEFAULT NULL,`is_superuser` tinyint(1) DEFAULT 0,`created` datetime DEFAULT NULL,PRIMARY KEY (`id`),UNIQUE KEY `mqtt_username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;然后在创建两条

在这里插入图片描述

客户端授权

CREATE TABLE IF NOT EXISTS `mqtt_user` (`id` int(11) unsigned NOT NULL AUTO_INCREMENT,`username` varchar(100) DEFAULT NULL,`password_hash` varchar(100) DEFAULT NULL,`salt` varchar(35) DEFAULT NULL,`is_superuser` tinyint(1) DEFAULT 0,`created` datetime DEFAULT NULL,PRIMARY KEY (`id`),UNIQUE KEY `mqtt_username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

在这里插入图片描述

在这里插入图片描述

web的客户端发送主题消息, 单片机接收信息

在这里插入图片描述

游戏

docker pull oldiy/dosgame-web-docker:latestdocker run -dit --name d -p 262:262 oldiy/dosgame-web-docker:latest

深度学习环境

docker run  -it -p 8888:8888  --name jupyter --ipc=host ufoym/deepo:all-jupyter jupyter notebook --no-browser --ip=0.0.0.0 --allow-root --NotebookApp.token= --notebook-dir='/root'docker run  -it -p 8888:8888  --name jupyter --ipc=host ufoym/deepo:all-jupyter

homeassistant

https://xiaolee.xyz/categories/homeassistant

docker run -itd \
--name hass \
--restart unless-stopped \
--privileged=true \
--net=host \
-e TZ=Asia/Shanghai \
-v /share/hass/config:/config \
homeassistant/home-assistant:2023.3下载hase极速版
https://gitee.com/hacs-chinamkdir -p /home/zjq/share/hass/config/custom_components/hacs
mv hacs.zip /home/zjq/share/hass/config/custom_components/hacs
unzip hacs.zip
docker restart hass

redis

  • 宝塔里面安装redis7
  • 放行端口
  • 设置密码和访问ip为0.0.0.0 谁都可以访问
  • 就可以访问了

在这里插入图片描述

pika

来自香港,全球互联,8k视频随你看,注册及送永久流量,地址:http://run.weaksharedptr.com/register?share_id=bb0ac878-d813-4c7e-9819-15eb43c5e5c4docker run -itd \--restart=always \--name pika \-v /home/zjq/share/pika:/root/file \-p 9221:9221  pikadb/pika:v3.3.6

Ubuntu

docker run -itd -p 9221:9221 -p 8030:22 --name pika -v /home/zjq/share/pika:/root/pick -d ubuntu:18.04 /bin/bash# 运行容器
$ docker exec -it pika /bin/bash

obs

docker run -itd -p 9010:9010 -p 8029:22 --name minio -v /home/zjq/share/minio/data:/data -e "MINIO_ROOT_USER=zjq" -e "MINIO_ROOT_PASSWORD=密码" minio/minio server /data --console-address ":9010"

饥荒

mkdir ${HOME}/Klei # 创建存放数据有文件夹# 拉取镜像并在前台启动
# 由于Steam要更新,根据网络环境可能要等比较久的时间
# 如果实在无法连接,再考虑给容器挂个代理下载。但总体不建议容器挂代理,因为我不清楚挂代理后steam是连接到服务器的游戏端口还是连到代理的端口上去了,取消容器的代理也非常麻烦。
docker run -itd --name dst  -p 10999-11000:10999-11000/udp -p 12346-12347:12346-12347/udp  jamesits/dst-server

jupyter

sudo vim /lib/systemd/system/jupyter.service# 写入下面内容---------------------------------------------------------------
[Unit]
Description=jupyter passwd = jupyter密码
After=network.target syslog.target
Wants=network.target[Service]
Type=simple
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=nohup jupyter notebook /share/jupyter --allow-root > jupyter.log 2>&1 &
# 后面是展示的目录[Install]
WantedBy=multi-user.target
# --------------------------------------------------------------sudo systemctl start jupyter
sudo systemctl enable jupyter
sudo systemctl restart jupyter
sudo systemctl stop jupyter
sudo systemctl status jupyterdocker run -d -p 8888:8888 -p 7022:22  --name jupyter --ipc=host ufoym/deepo:all-jupyter jupyter notebook --no-browser --ip=0.0.0.0 --allow-root --NotebookApp.token= --port=8888 --no-browser --notebook-dir='/root' 

WeChat reboot


docker run -d --name wechatbot -p 3001:3001 \
-e LOGIN_API_TOKEN="密码" \
-e RECVD_MSG_API="http://192.168.3.12:8080/receive_msg" \
dannicool/docker-wechatbot-webhook:latest
0c8605c58c4ac28a664987f43f0ab1b207ae26027fab9ba73196be21e0d228ba"http://192.168.3.12:8080/receive_msg" 这是本地端口发送请求docker logs -f wechatbot

游戏 幻兽帕鲁 pasharp/pal_server:latest

docker run -dit --name steamcmd --net host cm2network/steamcmd# 在容器内下载安装幻兽帕鲁服务端。
docker exec -it steamcmd bash -c "/home/steam/steamcmd/steamcmd.sh +login anonymous +app_update 2394010 validate +quit"# 在容器内运行幻兽帕鲁服务端。
docker exec -it steamcmd bash -c "/home/steam/Steam/steamapps/common/PalServer/PalServer.sh"# 后台执行的
docker exec -itd steamcmd bash -c "/home/steam/Steam/steamapps/common/PalServer/PalServer.sh"

花生壳映射

https://service.oray.com/question/11630.html

halo博客搭建

docker run -it -d --name halo -p 8090:8090 --restart=unless-stopped  -v /share/share/halo:/root/.halo2 halohub/halo:2.12

安装Nginx转发端口到80端口

apt install nginx

安装安卓

sudo apt install cpu-checkerroot@zjq:/share/hass/config# kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used# 运行容器, http://192.168.3.99:6080
docker run -d -p 6080:6080 -e EMULATOR_DEVICE="Samsung Galaxy S10" -e WEB_VNC=true --device /dev/kvm --name android-container budtmo/docker-android:emulator_11.0
# 检测状态
docker exec -it android-container cat device_status

wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.10/amd64/linux-headers-5.10.0-051000_5.10.0-051000.202012132330_all.deb
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.10/amd64/linux-headers-5.10.0-051000-generic_5.10.0-051000.202012132330_amd64.deb
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.10/amd64/linux-image-unsigned-5.10.0-051000-generic_5.10.0-051000.202012132330_amd64.deb
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.10/amd64/linux-modules-5.10.0-051000-generic_5.10.0-051000.202012132330_amd64.deb

http://www.khdw.cn/news/21225.html

相关文章:

  • 网站开发技术项目代码搜索网站查询ip
  • 时空网站建设的可行性分析一诺网络推广公司
  • 鹰潭北京网站建设semicircle
  • 自己制作电视直播app网站seo策划方案案例分析
  • 网站免费做软件整站多关键词优化
  • javacms做动漫网站运营推广的方式和渠道有哪些
  • 做网站按什么收费免费个人网站模板
  • php构建网站自媒体怎么赚钱
  • 宁波建站公司哪家服务好优化seo教程技术
  • 网站怎样做https杭州百度百家号seo优化排名
  • 女装商城网站建设b2b平台有哪些平台
  • 做网站不给提供ftp网站自然优化
  • 新手网站软文广告经典案例300
  • 住房与住房建设部网站成都关键词自然排名
  • 公司备案网站被注销吗在线seo诊断
  • 可视化自助建站项目外包平台
  • 男女直接做性视频网站seo怎么优化武汉厂商
  • 如何让广域网访问利用公网ip和本地服务器建设的网站找客户资源的软件免费的
  • 网站角色管理系统seo搜索引擎优化兴盛优选
  • 郑州免费网站建设哪家好排名轻松seo 网站推广
  • 保山网站开发服务百度推广信息流有用吗
  • 日照网站建设有限公司sem广告
  • 网站seo 优化seo排名点击工具
  • 嘉祥网站建设凤凰网全国疫情实时动态
  • 新疆建设云网站施工图审查北京优化网站建设
  • 北京服饰网站建设千锋教育培训多少钱费用
  • 自贡制作网站互联网营销方案策划
  • CP网站建设搭建需要多少钱中国局势最新消息今天
  • 公安局打电话网站备案游戏推广公司
  • 电子商务网站策划太原seo自媒体