以下是所有可用的 Nginx 编译参数列表:

--prefix=path                : 安装路径,默认为 /usr/local/nginx。
--sbin-path=path             : nginx 可执行文件的路径,默认为 prefix/sbin/nginx。
--conf-path=path             : nginx 配置文件的路径,默认为 prefix/conf/nginx.conf。
--error-log-path=path        : 错误日志文件的路径,默认为 prefix/logs/error.log。
--pid-path=path              : nginx 主进程 PID 文件的路径,默认为 prefix/logs/nginx.pid。
--lock-path=path             : nginx 锁文件的路径,默认为 prefix/logs/nginx.lock。
--user=name                  : 指定运行 nginx 的用户,默认为 nobody。
--group=name                 : 指定运行 nginx 的用户组,默认为 nobody。
--build=name                 : 指定编译环境,默认为当前主机的信息。
--builddir=path              : 指定编译时生成临时文件的目录,默认为 /tmp/nginx。
--with-select_module         : 启用 select 模块。
--without-select_module      : 禁用 select 模块。
--with-poll_module           : 启用 poll 模块。
--without-poll_module        : 禁用 poll 模块。
--with-threads               : 启用线程池。
--without-threads            : 禁用线程池。
--with-file-aio              : 启用文件异步 IO。
--with-http_ssl_module       : 启用 SSL/TLS 支持。
--without-http_ssl_module    : 禁用 SSL/TLS 支持。
--with-http_v2_module        : 启用 HTTP/2 支持。
--without-http_v2_module     : 禁用 HTTP/2 支持。
--with-http_realip_module    : 启用 realip 模块,用于获取真实客户端 IP。
--without-http_realip_module : 禁用 realip 模块。
--with-http_addition_module  : 启用 addition 模块,用于添加响应体。
--without-http_addition_module: 禁用 addition 模块。
--with-http_sub_module       : 启用 sub 模块,用于替换响应体。
--without-http_sub_module    : 禁用 sub 模块。
--with-http_dav_module       : 启用 dav 模块,用于 WebDAV 支持。
--without-http_dav_module    : 禁用 dav 模块。
--with-http_flv_module       : 启用 flv 模块,用于流媒体服务器。
--without-http_flv_module    : 禁用 flv 模块。
--with-http_mp4_module       : 启用 mp4 模块,用于流媒体服务器。
--without-http_mp4_module    : 禁用 mp4 模块。
--with-http_gunzip_module    : 启用 gunzip 模块,用于动态解压缩响应体。
--without-http_gunzip_module : 禁用 gunzip 模块。
--with-http_gzip_static_module : 启用 gzip_static 模块,用于预压缩静态文件。
--without-http_gzip_static_module : 禁用

CentOS 7 源码安装 CMake 3.17.0 最新稳定版。解决 cmake: command not found 问题。

1、准备编译环境

yum -y install gcc gcc-c++ openssl openssl-devel tar make

2、获取源码,并解压

wget https://github.com/Kitware/CMake/releases/download/v3.17.0/cmake-3.17.0.tar.gz
tar -zxf cmake-3.17.0.tar.gz
cd cmake-3.17.0

备用下载地址:https://down.24kplus.com/linux/cmake/cmake-3.17.0.tar.gz

3、编译安装

./bootstrap --prefix=/usr --datadir=share/cmake --docdir=doc/cmake && make
sudo make install

4、检查是否正确安装

cmake --version

cmake version 3.17.0

CMake suite maintained and supported by Kitware (kitware.com/cmake).

CentOS 7/8 安装 onigurumaoniguruma-devel 。解决 configure: error: Package requirements (oniguruma) were not met: Package 'oniguruma', required by 'virtual:world', not found 问题。

CentOS 7 安装

yum -y install http://mirror.centos.org/centos-7/7.7.1908/cloud/x86_64/openstack-queens/oniguruma-6.7.0-1.el7.x86_64.rpm
yum -y install http://mirror.centos.org/centos-7/7.7.1908/cloud/x86_64/openstack-queens/oniguruma-devel-6.7.0-1.el7.x86_64.rpm

备用下载:

oniguruma:http://down.24kplus.com/linux/oniguruma/oniguruma-6.7.0-1.el7.x86_64.rpm
oniguruma-devel:http://down.24kplus.com/linux/oniguruma/oniguruma-devel-6.7.0-1.el7.x86_64.rpm

CentOS 8 安装

yum config-manager --set-enabled PowerTools
yum -y install oniguruma oniguruma-devel

CentOS 7 源码安装 CMake 3.16.2 最新稳定版。解决 cmake: command not found 问题。

1、准备编译环境

yum -y install gcc gcc-c++ openssl openssl-devel tar

2、获取源码,并解压

wget https://github.com/Kitware/CMake/releases/download/v3.16.2/cmake-3.16.2.tar.gz
tar -zxf cmake-3.16.2.tar.gz
cd cmake-3.16.2

备用下载地址:https://down.24kplus.com/linux/cmake/cmake-3.16.2.tar.gz

3、编译安装

./bootstrap --prefix=/usr --datadir=share/cmake --docdir=doc/cmake && make
sudo make install

4、检查是否正确安装

cmake --version

cmake version 3.16.2

CMake suite maintained and supported by Kitware (kitware.com/cmake).

之前发过 gcc 9.2.0 的安装教程,安装过程并不复杂,但为了进一步简化,本站编写了一键安装脚本。

因 gnu.org 国内访问不稳定,或者网速慢, 安装脚本中自动下载的文件均从本站下载,如有顾虑请移步 gcc 9.2.0 的完整安装教程 自行手动安装。

一键安装脚本仅适合 CentOS 7或者CentOS 8。

安装耗时非常大,需要耐心等待、 耐心等待 、 耐心等待 ,重要的说三遍!

单核大约需要3~4个小时,如果内存低于2G需要更长时间,4核大约40分。

1、下载脚本

wget https://down.24kplus.com/linux/gcc/gcc-install.sh

2、执行脚本进行安装

安装过程中,如果 服务器 内存低于2G会自动创建一个临时的swap,安装结束后会自动删除。

chmod +x gcc-install.sh && ./gcc-install.sh

接下来就是耐心等待漫长的安装过程……

安装完成后会打印出当前gcc版本信息。

CentOS 7/8 一键安装 shadowsocks-libev, 本教程仅提供学习,请勿用于商业用途和不法行为。

由于 Google BBR 需要内核版本 4.9 以上,如果安装时内核版本低于 4.9 建议先升级内核版本

提示:CentOS 7 自带内核版本为 3.10,CentOS 8 自带内核版本为 4.18。

查看内核版本命令:

uname -r

1、下载脚本

一键脚本已集成TCP优化、自动开启Google BBR(限 4.9 或更高版本内核)、自动安装 shadowsocks-libev

wget https://down.24kplus.com/linux/shadowsocks/centos-shadowsocks-libev.sh

2、执行脚本进行安装

chmod +x centos-shadowsocks-libev.sh && ./centos-shadowsocks-libev.sh

3、根据shell脚本提示输入相关信息

1、提示设置SS密码,输入自定义密码后按回车,也可以直接按回车使用默认密码

输入SS密码界面

2、接下来选择SS要使用的服务器端口,输入自己喜欢的端口, 也可以直接按回车使用默认端口

输入SS端口号

3、 然后选择加密方式(仅保留相对安全的加密方式),如果选择chacha20的话,就输入对应序号3,按回车继续

选择SS加密方式

4、 安装完成后,会有如下图安装成功的提示,记住各项信息,在客户端连接时需要用到

安装SS成功后提示信息

SS服务端安装成功后,就可以在电脑、手机、路由器等设备上的SS客户端上,按照以上设置的各项参数进行连接了。

最后送上Windows 客户端 Shadowsocks-4.1.7.1.zip

MySQL 8.0.18 稳定版(GA)已于14/10正式发布,Hash Join 也如期而至。

快速浏览一下这个版本的亮点!

1.Hash Join

Hash Join 不需要任何索引来执行,并且在大多数情况下比当前的块嵌套循环算法更有效。

2.EXPLAIN ANALYZE

EXPLAIN ANALYZE 将运行查询,然后生成 EXPLAIN 输出,以及有关优化程序估计如何与实际执行相匹配的其他信息。

3.创建用户时可以随机生成密码

为 CREATE USERALTER USER和 SET PASSWORD语句添加了语法,以生成强随机密码,并将其作为结果返回给客户端。

添加的语法是:

CREATE USER user IDENTIFIED BY RANDOM PASSWORD;
ALTER USER user IDENTIFIED BY RANDOM PASSWORD;
SET PASSWORD [FOR user] TO RANDOM;

4.群组复制

group_replication_exit_state_action 增加了 OFFLINE_MODE 模式,用于指定当服务器无意离开群组时群组复制的行为。

OFFLINE_MODE 行为将关闭所有连接,并禁止非 CONNECTION_ADMIN 或 SUPER 权限的用户建立新连接,否则它的行为类似于现有 READ_ONLY 模式。

5.innodb 增加一个空闲状态下控制写入 IOPs 的选项

该选项在 InnoDB 空闲时控制写 IOP。目的是减少写 IO,以延长闪存的寿命。

此外,还有很多内部细节的改进,详细请访问:

https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-18.html

CentOS / Ubuntu 安装 pip。 解决 -bash: pip: command not found 错误

执行:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python get-pip.py

Successfully installed pip-19.3.1 setuptools-41.4.0 wheel-0.33.6

IP2Location C Library

1、下载并解压

wget -O IP2Location-C-Library-8.0.8.tar.gz https://codeload.github.com/chrislim2888/IP2Location-C-Library/tar.gz/8.0.8
tar -zxf IP2Location-C-Library-8.0.8.tar.gz
cd IP2Location-C-Library-8.0.8

备用下载地址:https://down.24kplus.com/linux/IP2Location-C-Library-8.0.8.tar.gz

2、编译安装

autoreconf -i -v --force
./configure --prefix=/usr
make
make install
cd data
perl ip-country.pl

如果出现错误

configure.ac:42: error: possibly undefined macro: AC_PROG_LIBTOOL
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.

执行:

yum install libtool libsysfs

3、测试(可选)

cd test
./test-IP2Location

IP2Location API version: 8.0.8 (80008)
IP2Location IPv4 Testing passed.
IP2Location IPv6 Testing passed.