2023-

* 天 * 时 * 分 * 秒
至于未来会怎么样
反正路还长 天总会亮

Centos 8开启Apache服务

jiminzhang阅读(133)

cat /etc/redhat-release     //查看系统版本

Centos 8开启Apache服务

 sudo systemctl status firewalld      //检查防火墙状态

Centos 8开启Apache服务

安装Apache(在基于RHEL的发行版中,Apache软件包和服务称为httpd)。

yum install httpd

Centos 8开启Apache服务

启用Apache服务,并使其在系统启动时启动。

systemctl start httpd

systemctl enable httpd

Centos 8开启Apache服务

检查Apache运行状态。

systemctl status httpd

Centos 8开启Apache服务

还可以检查Web服务器的版本,以确保已正确安装。

httpd -v

Centos 8开启Apache服务

测试Apache Web服务器。

在浏览器中输入http://127.0.0.1,如果出现测试页,说明安装正确。也可以使用curl 127.0.0.1:80进行测试

Centos 8开启Apache服务

默认情况下,CentOS使用firewalld作为守护程序运行的防火墙,并为其提供基本安全性。因此,尽管已经在本机上可以访问Web服务,但很可能在远程计算机上无法访问。为了接受HTTP和HTTPS连接,还需打开服务器上的80和443端口。

sudo firewall-cmd --permanent --zone=public --add-service=http

sudo firewall-cmd --permanent --zone=public --add-service=https

sudo firewall-cmd --reload

Centos 8开启Apache服务

验证防火墙配置是否正确。

在远程计算机浏览器中输入http://IP,如果出现测试页,说明防火墙配置正确。

AutoCAD常用快捷命令

jiminzhang阅读(345)

L=直线;
PL=多段线;
U回车=Ctrl+z=后退;
D=修改,调整;
REC=矩形;
C=圆;
TR=修剪;
O=偏移;
XL=放射线;
X=分解;
CO=复制;
M=移动;
MI=镜像;
EL=椭圆;
BR=打断;
POL=多边形;
LEN=拉长;
S=拉伸;
ME=等分;
E=删除;
E回车ALL回车=全部删除;
AR=阵列;
RO=旋转;
SC=比例缩放;
END=端点;
MID=中点;
PER=垂足;
INT=交足;
CEN=圆心;
QUA=象限点;
TAN=切点;
SPL=曲线;
DIV=块等分;
PE=编辑多边线;
NOD=节点;
F=圆角;
CHA=倒角;
ST=文字样式;
DT=单行文字;
T=多行文字;
ED=编辑文字;
A=弧;
H =填充;
HE=编辑填充;
B=创建临时图块;
W=创建永久图块;
I=插入图块;
LA=图层;
MA=吸管加喷枪;
() PAR=平行线;
FRO=正交偏移捕捉;
PO=创建点;
SKETCH=徒手画线;
DO=圆环;
RAY=射线;
AL=对齐;
REG=面域;
AA=求面积周长;
SU=减集;
UNI=加集;
IN=交集;
BO=提取轮廓;
REV=二维旋转成三维;
EXT=拉伸;
UCS=三维坐标;
ROTATE3D=三维旋转;
MIRROR3D=三维镜像;
3A=三维阵列;
SURFTAB=曲面网格;
TXTEXP=分解文字;
CTRL+P=打印;
(一)字母类 1、对象特性 ADC, *ADCENTER(设计中心“Ctrl+2″)
CH, MO *PROPERTIES(修改特性“Ctrl+1″)
MA, *MATCHPROP(属性匹配)
ST, *STYLE(文字样式)
COL, *COLOR(设置颜色)
LA, *LAYER(图层操作)
LT, *LINETYPE(线形)
LTS, *LTSCALE(线形比例)
LW, *LWEIGHT (线宽)
UN, *UNITS(图形单位)
ATT, *ATTDEF(属性定义)
ATE, *ATTEDIT(编辑属性)
BO, *BOUNDARY(边界创建,包括创建闭合多段线和面域)
AL, *ALIGN(对齐)
EXIT, *QUIT(退出)
EXP, *EXPORT(输出其它格式文件)
IMP, *IMPORT(输入文件)
OP,PR *OPTIONS(自定义CAD设置)
PRINT, *PLOT(打印)
PU, *PURGE(清除垃圾)
R, *REDRAW(重新生成)
REN, *RENAME(重命名)
SN, *SNAP(捕捉栅格)
DS, *DSETTINGS(设置极轴追踪)
OS, *OSNAP(设置捕捉模式)
PRE, *PREVIEW(打印预览)
TO, *TOOLBAR(工具栏)
V, *VIEW(命名视图)
AA, *AREA(面积)
DI, *DIST(距离)
LI, *LIST(显示图形数据信息)
2、绘图命令: PO, *POINT(点)
L, *LINE(直线)
XL, *XLINE(射线)
PL, *PLINE(多段线)
ML, *MLINE(多线)
SPL, *SPLINE(样条曲线)
POL, *POLYGON(正多边形)
REC, *RECTANGLE(矩形)
C, *CIRCLE(圆)
A, *ARC(圆弧)
DO, *DONUT(圆环)
EL, *ELLIPSE(椭圆)
REG, *REGION(面域)
MT, *MTEXT(多行文本)
T, *MTEXT(多行文本)
B, *BLOCK(块定义)
I, *INSERT(插入块)
W, *WBLOCK(定义块文件)
DIV, *DIVIDE(等分)
H, *BHATCH(填充)
3、修改命令: CO, *COPY(复制)
MI, *MIRROR(镜像)
AR, *ARRAY(阵列)
O, *OFFSET(偏移)
RO, *ROTATE(旋转)
M, *MOVE(移动)
E, DEL键 *ERASE(删除)
X, *EXPLODE(分解)
TR, *TRIM(修剪)
EX, *EXTEND(延伸)
S, *STRETCH(拉伸)
LEN, *LENGTHEN(直线拉长)
SC, *SCALE(比例缩放)
BR, *BREAK(打断)
CHA, *CHAMFER(倒角)
F, *FILLET(倒圆角)
PE, *PEDIT(多段线编辑)
ED, *DDEDIT(修改文本)
4、视窗缩放: P, *PAN(平移)
5、尺寸标注: DLI, *DIMLINEAR(直线标注)
DAL, *DIMALIGNED(对齐标注)
DRA, *DIMRADIUS(半径标注)
DDI, *DIMDIAMETER(直径标注)
DAN, *DIMANGULAR(角度标注)
DCE, *DIMCENTER(中心标注)
DOR, *DIMORDINATE(点标注)
TOL, *TOLERANCE(标注形位公差)
LE, *QLEADER(快速引出标注)
DBA, *DIMBASELINE(基线标注)
DCO, *DIMCONTINUE(连续标注)
D, *DIMSTYLE(标注样式)
DED, *DIMEDIT(编辑标注)
DOV, *DIMOVERRIDE(替换标注系统变量)
二)常用CTRL快捷键 【CTRL】+1 *PROPERTIES(修改特性)
【CTRL】+2 *ADCENTER(设计中心)
【CTRL】+O *OPEN(打开文件)
【CTRL】+N、M *NEW(新建文件)
【CTRL】+P *PRINT(打印文件)
【CTRL】+S *SAVE(保存文件)
【CTRL】+Z *UNDO(放弃)
【CTRL】+X *CUTCLIP(剪切)
【CTRL】+C *COPYCLIP(复制)
【CTRL】+V *PASTECLIP(粘贴)
【CTRL】+B *SNAP(栅格捕捉)
【CTRL】+F *OSNAP(对象捕捉)
【CTRL】+G *GRID(栅格)
【CTRL】+L *ORTHO(正交)
【CTRL】+W *(对象追踪)
【CTRL】+U *(极轴)

解决”ERROR: The certificate of `XXXX.com’ is not trusted.”问题

jiminzhang阅读(295)

今天晚上有在下载一个脚本到VPS中的时候有出现”ERROR: The certificate of `XXXX.com’ is not trusted.”的错误提示。应该意思是这个证书可能不被信任,反正就这个提示,正式存在的,我换了其他有HTTPS网址也无法WGET下载,应该是这个问题。

解决办法:

–no-check-certificate

我们可以直接在wget后面加上脚本即可。

或者我们可以:

apt-get install ca-certificates -y #Debian/Ubuntu

yum install ca-certificates -y  #CentOS

安装完毕之后应该是可以不用上面脚本直接可以wget。

利用psd.js解析PSD文件

jiminzhang阅读(1119)

现在市面上很多的webapp都提供模板功能,所谓模板就是一系列元素的集合,模板的制作一般都需要设计师先在Photoshop等软件中制作好设计好,然后再一定的方式来还原设计稿,要么需要编码要么需要在某些应用中按照设计稿重画设计生成模板数据,都还是比较麻烦的,我们能不能通过psd文件直接生成模板呢?要做到这点我们就需要解析psd文件,而psd文件是Photoshop软件的涉及保存文件,浏览器并不能直接识别,所幸的是psd.js赋予了我们这样的能力。

psd.js 是一个用来解析PhotoShop的PSD文件的 JavaScript 库,支持在浏览器上运行以及Node.js环境中使用,通过psd.js我们可以处理PSD文档并得到关键数据,例如:

1、文件结构

2、文件大小

3、图层/目录大小+定位

4、图层/目录名

5、图层/目录可见性和不透明度

6、字体数据

7、文本内容

8、字体种类,大小,颜色

9、颜色模式和相应数值

10、矢量蒙版数据

11、平面图像数据

12、图层组合

一、服务端使用

1、安装

PSD.js没有原生依赖项,我们可以通过npm install psd –save来安装psd.js并将其加入到我们的项目依赖中。

2、使用示例

二、浏览器端使用

1、安装

浏览器端我们只需要在页面引用dist版本的psd.js源文件即可使用其全部功能。

2、使用

PSD.js在浏览器和NodeJS环境中的用法大致相同,示例如下:

需要注意的是服务端通过文件加载PSD文件是用的PSD.fromFile方法,而浏览器端通过使用的是PSD.fromURL方法从url加载psd文件,对于浏览器本地文件的加载我们可以通过URL.createObjectURL方法生成objectUrl再调用PSD.fromURL方法。

点击这里查看一个浏览器端解析psd的例子。

解决CentOS系统内存不足导致编译错误

jiminzhang阅读(455)

问题场景

在 1核1G 的 CentOS 系统上安装 fileinfo 扩展报错:

cc: Internal error: Killed (program cc1)
...

解决方案

使用临时交换分区:

sudo dd if=/dev/zero of=/swapfile bs=64M count=16
sudo mkswap /swapfile
sudo swapon /swapfile

命令参考传送门:linux dd 命令详解

在扩展安装完成后可以取消交换分区:

sudo swapoff /swapfile
sudo rm /swapfile

PHP 过滤器 – 单个变量过滤

jiminzhang阅读(588)

刚刚在 laravel 社区看见一篇文章,欸~,发现一个自己一直没有使用过的函数 filter_var()
于是就去官网搜了下:

filter_var — 使用特定的过滤器过滤一个变量

欸~,奇怪的知识增加了。那有了这个函数的话,我是不是可以在多账号的时候使用这个来判断进行登录呢,比如邮箱登录和手机登录,只要用 filter_var 函数判断账号是不是邮箱,不是的话则使用手机号。emmm,有点意思。

那怎么使用呢?
直接上代码咯,有什么好说哒。

public function login(Request $request){
     $username = $request->username;
      
     // 过滤器 第一个参数是要过滤的变量 第二个参数是过滤器的 ID
     // 这里是判断数变量是否是邮箱地址
     filter_var($username, FILTER_VALIDATE_EMAIL) ? 
            $data['email'] = $username :
            $data['phone'] = $username;

     //接收传来的值
     $data['password'] = $request->password;

     //验证密码是否正确
     $token = \Auth::guard('api')->attempt($data);
}

献上过滤器ID手册传送门。。。

Nginx 设置项目配置文件不可 URL 访问

jiminzhang阅读(625)

在许多不同框架中,可能一些项目的主要配置文件(web.config,sql.config …)会放在项目根目录,当 HTTP 应用服务器配置错误时,会导致这些配置文件可以通过 URL 直接访问。

如何解决这一问题呢?

我们可以在 nginx 层做下控制(nginx.conf):

location ~* \.(config|ini|docx|txt|doc)$ {
         # deny all;
         return 404;
}

这样就可以实现目录下文件不可直接 URL 访问了。

2020年10月11日记一次网站被黑经历及解决过程

jiminzhang阅读(2314)

距离上次被黑是去年的事儿了,也是同样的问题(从搜索引擎点击进入网站后自动跳转到不良网站、和多目录挂马),我觉得有必要静下心来,分享一下被黑的这段经历。

如图,搜索出来的收录信息都是不良内容。。。。

在叙述经历之前,先简单的介绍一下服务器配置情况:单核512内存1MB带宽,Linux系统(CentOS7)。

以上配置,对于一个日访问量几千的网站来说应该绰绰有余了,并发撑死十几个左右。

经历:

2020年10月11日上午,我通过搜索引擎查询该网站关键词排名时发现收录信息异常,随即通过后台发现index.php文件里的head内容被篡改,直接输入链接访问的无异常,通过蜘蛛访问的会自动跳转到不良网站。

然后我尝试将eval代码解密

这招还真难发现啊

linux系统函数学习

jiminzhang阅读(565)

程序: 死的, 只会占用磁盘空间
进程: 活的,运行起来的程序,占用内存,cpu系统资源等

PCB进程控制块
就是一个结构体
拥有的相关信息
  进程id, 文件描述符, 进程工作目录, *umask掩码, 信号相关信息资源, 用户id和组id,
  进程状态: 初始态, 就绪态, 运行态, 挂起态, 终止态

fork()函数
创建子进程, 父进程各自返回.父进程返回子进程pid, 子进程返回0
头文件:unistd.h
  
父子进程相同:
  刚fork后: data段, text段, 堆, 栈, 环境变量, 宿主目录位置, 进程工作位置, 信号处理方式
  
父子进程不同:
  进程id, 返回值, 各自的父进程, 进程创建时间, 闹钟, 未决信号集
  
父子进程共享:
  读时共享,写时复制
  文件描述符, mmap映射区
  
获取进程各个id
  getpid():获取当前进程id
  getppid():获取父进程的id
  getgid():获取当前组id

记录一次服务器免密登录失效问题

jiminzhang阅读(440)

  1. 在本地使用ssh-keygen生成密钥
    ssh-keygen -t rsa
  2. 将本地~/.ssh/id_rsa.pub使用ssh-copy-id复制到user@hostname
    ssh-copy-id -i ~/.ssh/id_rsa.pub user@hostname
  3. 成功后我尝试使用ssh user@hostname连接发现还是需要输入密码,随后检查了半天,随后去了百度参考了远程登陆不要密码,使用authorized_keys不生效的解决方法才知道是我的.ssh文件夹与authorized_keys文件权限错误的原因, 随后修改文件夹权限再次连接,成功解决!

服务端~/.ssh文件夹权限必须是 700
chmod 700 ~/.ssh
服务端~/.ssh/authorized_keys权限必须是 600
chmod 600 ~/.ssh/autohrized_keys

张济民个人博客-一个伪文艺青年原创博客网站

工具备用按钮