《开头语》
笔者今天有冲动,今天又买了一台新的服务器,环境又得从零开始
(别问为什么不用宝塔镇河妖,问就是自己动手丰衣足食)

某云:[年轻的新一代农民工哦,你看这服务器,又便宜有好使];
我
(犹豫不决):订单生成,取消订单,重新购买!
环境开始搭建
软件准备
软件:FlashFXP5.4【直达下载地址:跳转】 + nginx1.8 + Xshell

准备好Linux版本的nginx包,笔者使用的是 nginx1.8
![]()
直达地址:14软件工程 验证码:3031 【30 31 十六进制转换中文 为 :0 1 】

在FlashFXP配置服务器,连接成功

创建一个文件夹,上传nginx压缩包,直接拖动过去等待完成既可

Xshell连接配置

连接成功,cd 到我们刚才创建并且上传nginx的目录

解压nginx
执行解压命令:
tar zxvf nginx-1.8.0.tar.gz

着手准备安装,进入到刚才解压的nginx文件

源代码安装
执行源代码安装命令:
./configure

等待执行,执行完成,出现错误
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.

意思是:rewrite模块需要到 PCRE 库,或者使用without-http_rewrite_module来禁用这个模块
解决方案一,安装 PCRE库
解决方案二,使用 without-http_rewrite_module 来禁用,哭爹喊娘系列
当然是选择方案一了

别问,问我,反正我也是菜dogs,我也不知道该怎么和你解释
文档跳转
rewrite扩展说明,这里可以跳过,右目录跳转到安装PCRE库
/**beg
我想让一不小心看这一篇文章大佬访问我的 M站 的时候让大佬正常【此时状态码200】去到4399摸鱼打豆豆, 在 M站 加nice参数就【转发,状态码301】去look好康的,以下演示使用本地 localhost 代替 【 主要是懒 】 ![]()
server {
listen 80;
server_name m.itgsvip.com;
############## m.itgsvip.com?nice ###############
if ($request_uri ~* "/?nice"){
rewrite ^/(.*)$ https://www.我有好康的.com permanent;
}
location / {
proxy_pass http://www.4399.com/;
index index.html index.htm;
}
}
正常行为
rewrite 行为演示
end **/
安装PCRE库
下载并且上传 pcre库

或者在线下载命令
wget https://udomain.dl.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz
执行解压命令
tar zxvf pcre-8.45.tar.gz

cd 进入pcre-8.45目录,执行编译命令
./configure

报错:
error: Invalid C++ compiler or C++ compiler flags

系统缺失c++编译器(库)
安装 c++ 库
安装c++编译器
yum -y install gcc-c++

等待执行完成

执行完成 在执行 ./configure

./configure 执行完,继续执行 make 命令

make 命令 执行完成无异常

执行
make install
看到这些不要惊讶,这是警告而已

执行成功

重返nginx编译安装-浪子回头
回到nginx继续编译nginx,./configure

无异常

缝补之路
执行 make 命令,结果报错

只需要修改当前目录下面的objs目录下的Makefile文件第二行
修改前:CFLAGS = -pipe -O -W -Wall -Wpointer-arith -Wno-unused -Werror -g
修改后:CFLAGS = -pipe -O -W -Wall -Wpointer-arith -Wno-unused -g

继续执行 make ,编译错误,
错误意思是在 src/os/unix/ngx_user.c 这个文件的 ‘ngx_libc_crypt’ 方法
36行第7列,‘struct crypt_data’ 没有这个命名 ‘current_salt’
【我觉得应该叫没有这个变量,来着咖啡的疑惑】

注意,这个时候不是在objs/src/目录下了,是在nginx目录src源码目录下

源码上面还有一行注释
work around the glibc bug
意思是解决 glibc 库的 bug,到底是不是这个意思盲猜的,是不是我也不懂,这得问问C语言的大佬们了
直接注释这一行代码既可

在重新 make

在执行命令
make install
执行完毕
这个时候切换路径到nginx默认路径
cd /usr/local/nginx
nginx/sbin目录下才是nginx执行程序

执行
./nginx
浏览器地址输入ip地址,看到这个页面说明你已经成功启动了

nginx基础命令
./nginx -t 查看nginx配置是否有问题
./nginx -s reload 重装载命令
service nginx restart 重启nginx服务
nginx -s quit 或者 nginx -s stop 关闭 nginx服务
修改nginx默认页面
在nginx 的 conf目录下的nginx.conf文件
右键编辑

保存,刷新nginx配置文件
./nginx -s reload

访问

现在是,2021年11月24日02:41:52,我在妖都,写下这篇博客

最后
以上就是纯真花瓣最近收集整理的关于Linux(CentOS 8.2 )搭建Nginx环境+解决过程《开头语》环境开始搭建安装PCRE库重返nginx编译安装-浪子回头修改nginx默认页面的全部内容,更多相关Linux(CentOS内容请搜索靠谱客的其他文章。

发表评论 取消回复