编译安装nginx及php

安装nginx所需依赖

安装pcre-devel

源安装
1
yum install -y pcre-devel
安装包安装

安装openssl-devel

1
yum install -y openssl-devel

安装nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
./configure \
--prefix=/usr/local/nginx \
--sbin-path=/usr/local/nginx/sbin/nginx \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_v2_module

make && make test

make install

php7.4.15依赖

libxml2-devel、sqlite-devel、libcurl-devel、libpng-devel、libzip-devel、openssl-devel

安装php7.4.15

安装时可能会出现 libzip 无法找到

执行以下命令

1
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"

安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
./configure \
--prefix=/usr/local/php@7.4 \
--with-config-file-path=/usr/local/php@7.4/etc \
--enable-fpm \
--with-libxml \
--with-openssl \
--with-zlib \
--enable-bcmath \
--enable-calendar \
--with-curl \
--enable-ftp \
--enable-gd \
--enable-pcntl \
--with-pdo-mysql \
--enable-soap \
--enable-sockets \
--with-zip \
--with-pear

make && make test

make install

参数说明:

参数 描述
–prefix 安装目录
–enable-fpm 开启php-fpm
–enable-ftp 开启ftp
–enable-bcmath 开启bcmath
–enable-calendar 开启calendar
–with-libxml 安装XML扩展
–with-openssl 安装OPENSSL扩展
–with-zlib 安装ZLIB扩展
–with-curl 安装CURL扩展
–with-pdo-mysql 安装PDO-MYSQL扩展
–with-zip 安装ZIP扩展
–with-pear 安装PEAR扩展

解决Centos7在Vmware中无法全屏的问题

安装Vmware-Tools

启动系统,点击安装VMware Tools

装载VMware Tool镜像

1
mkdir -t auto /dev/cdrom /mnt/cdrom 

复制 /mnt/cdrom 目录下的 VMwareTools-*.tar.gz文件到用户目录下,并解压

1
2
3
cp /mnt/cdrom/VMwareTools-10.3.10-12406962.tar.gz ~/
cd ~/
tar -zxvf VMwareTools-10.3.10-12406962.tar.gz

进入目录后安装

1
2
cd ~/vmware-tools-distrib
./vmware-install.pl

安装时可能会出现错误,提示 ipconfig命令 不存在, 需要安装 net-tools

1
yum -y install net-tools

更改Centos7分辨率

进入系统更改分辨率

1
vim /etc/default/grub

将GRUB_TERMINAL_OUTPUT值由默认的”console”改为”gfxterm”,并添加GRUB_GFXMODE

ubuntu自带grub2默认是gfxterm, 而centos默认是console,所以只设置GRUB_GFXMODE不生效!

1
2
3
4
5
6
7
8
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="gfxterm"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
GRUB_GFXMODE=1440x900,1024x768,640x480

更新grub.cfg

新版grub2已经不再使用update-grub这个命令了,改用grub2-mkconfig

1
grub2-mkconfig -o /boot/grub2/grub.cfg 

重启

1
reboot

正则入门

本文目标

30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。

阅读更多

使用git webhook实现代码自动部署

前言

每次项目修改完代码后,需要通过一些文件传输工具上传到服务器,显得有些繁琐。希望git push的时候,服务器上的代码也能自动更新,这样也能节省不少时间。

阅读更多

区块链从入门到放弃

入门介绍与原理:

一、比特币
1.比特币白皮书

这是一切的开始

2.精通比特币

讲比特币很详细的一本书,看完基本对比特币的认识就清楚了。

3.TheProof-of-Work Concept

PoW机制理论介绍,英文

4.比特币的原理及运作机制

这篇是新手向,适合向圈外人介绍什么是比特币什么是区块链

5.比特币pow难度调节机制

PoW的难度调节是一个要点,一篇简介

阅读更多

分库分表

问题:为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)?用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?你们具体是如何对数据库如何进行垂直拆分或水平拆分的?

阅读更多

蓝屏编码含义

蓝屏含义

故障检查信息

***STOP 0x0000001E(0xC0000005,0xFDE38AF9,0x0000001,0x7E8B0EB4)

MODE_EXCEPTION_NOT_HANDLED ***其中错误的第一部分是停机码(Stop Code)也就是STOP 0x0000001E, 用于识别已发生错误的类型, 错误第二部分是被括号括起来的四个数字集, 表示随机的开发人员定义的参数(这个参数对于普通用户根本无法理解, 只有驱动程序编写者或者微软操作系统的开发人员才懂). 第三部分是错误名. 信息第一行通常用来识别生产错误的驱动程序或者设备. 这种信息多数很简洁, 但停机码可以作为搜索项在微软知识库和其他技术资料中使用

阅读更多

IP概览

IP地址的概念

IP 地址是我们进行TCP/IP通讯的基础,每个连接到网络上的计算机都必须有一个IP地址。我们目前使用的IP地址是32位的,通常以点分十进制表示。例如: 192.168.0.181。IP地址的格式为: IP地址 = 网络地址 + 主机地址 或者 IP地址=主机地址 + 子网地址 + 主机地址。一个简单的IP地址其实包含了网络地址和主机地址两部分重要的信息。

阅读更多