linux安装nginx详细步骤和make编译报错问题(保姆级)

这篇具有很好参考价值的文章主要介绍了linux安装nginx详细步骤和make编译报错问题(保姆级)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.安装依赖包

2.下载并解压安装包

3.安装nginx

3-1.源码编辑时常见错误解决方法

4.启动nginx服务

4-1.配置nginx.conf

5.重启nginx

6.若想使用外部主机访问nginx,需要关闭服务器防火墙或开放nginx服务端口,端口为上一步nginx.conf的配置端口

 


1.安装依赖包

//一键安装依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

2.下载并解压安装包

//cd进入/usr/local文件目录
cd /usr/local
//创建一个nginx文件夹
mkdir nginx
//cd进入nginx文件
cd nginx
//下载tar包
wget http://nginx.org/download/nginx-1.13.7.tar.gz
//下载好进行解压命令
tar -xvf nginx-1.13.7.tar.gz

3.安装nginx

//进入nginx目录
cd /usr/local/nginx
//进入目录
cd nginx-1.13.7
//执行命令 考虑到后续安装ssl证书 添加两个模块
./configure --with-http_stub_status_module --with-http_ssl_module
//执行make命令
make
//执行make install命令
make install

        3-1.源码编辑时常见错误解决方法

执行上面编译命令make报错的源码我把他整理了一下,当执行make报错时先不要慌。先看下我标红的报错源码,基本就是报我下面标红的。然后进行相应的解决方法操作就好啦。

报错:

make -f objs/Makefile

make[1]: Entering directory '/home/zyz/nginx-1.12.0'

cd ../pcre-8.37/ \

&& if [ -f Makefile ]; then make distclean; fi \

&& CC="cc" CFLAGS="-O2 -fomit-frame-pointer -pipe " \

./configure --disable-shared 

/bin/sh -3: permission deny

解决方法:

经过一番分析发现是pcre-8.37 和openssl-1.1.0h库中的configure文件和config文件默认无执行权限,果断进入 两个库文件夹,执行chmod 777 configure  ;   chmod 777 config

于是乎make,开始大量编译...

过了一会儿,又报了另外一个错误!

src/core/ngx_murmurhash.c: In function ‘ngx_murmur_hash2’:
src/core/ngx_murmurhash.c:37:11: error: this statement may fall through [-Werror=implicit-fallthrough=]
   37 |         h ^= data[2] << 16;
      |         ~~^~~~~~~~~~~~~~~~
src/core/ngx_murmurhash.c:38:5: note: here
   38 |     case 2:
      |     ^~~~
src/core/ngx_murmurhash.c:39:11: error: this statement may fall through [-Werror=implicit-fallthrough=]
   39 |         h ^= data[1] << 8;
      |         ~~^~~~~~~~~~~~~~~
src/core/ngx_murmurhash.c:40:5: note: here
   40 |     case 1:
      |     ^~~~
cc1: all warnings being treated as errors
make[1]: *** [objs/Makefile:482:objs/src/core/ngx_murmurhash.o] 错误 1
make[1]: 离开目录“/home/zyz/nginx-1.12.0”
make: *** [Makefile:8:build] 错误 2

解决方法:

进入安装的nginx-1.13.7/objs/Makefile,打开Makefile文件将编译选项中的CFLAGS =  -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter  -werror -g中的“-werror"删除。(在直接用make编译,到了这一步就没有报错了)

###-werror是将警告对待成错误(warning treated as  error)。

继续进行编译...

又报错误了。。。

如下:

src/os/unix/ngx_user.c: In function ‘ngx_libc_crypt’:
src/os/unix/ngx_user.c:36:7: error: ‘struct crypt_data’ has no member named ‘current_salt’
   36 |     cd.current_salt[0] = ~salt[0];
      |       ^
make[1]: *** [objs/Makefile:797:objs/src/os/unix/ngx_user.o] 错误 1
make[1]: 离开目录“/home/zyz/nginx-1.12.0/nginx-1.12.0”
make: *** [Makefile:8:build] 错误 2

解决方法:

经过百度发现需要进入../src/os/unix/ngx_user.c中进行源码修改。

只需要注释第36行代码即可。

/* cd.current_salt[0] = ~salt[0];*/
继续进行编译...

编译完成!

sed -e "s|%%PREFIX%%|/home/zyz/nginx1.12.0/|" \
    -e "s|%%PID_PATH%%|/home/zyz/nginx1.12.0//logs/nginx.pid|" \
    -e "s|%%CONF_PATH%%|/home/zyz/nginx1.12.0//conf/nginx.conf|" \
    -e "s|%%ERROR_LOG_PATH%%|/home/zyz/nginx1.12.0//logs/error.log|" \
    < man/nginx.8 > objs/nginx.8
make[1]: 离开目录“/home/zyz/nginx-1.12.0”

安装

make install

root@zyz:/home/zyz/nginx-1.12.0# make install
make -f objs/Makefile install
make[1]: 进入目录“/home/zyz/nginx-1.12.0”
test -d '/home/zyz/nginx1.12.0/' || mkdir -p '/home/zyz/nginx1.12.0/'
test -d '/home/zyz/nginx1.12.0//sbin' \
    || mkdir -p '/home/zyz/nginx1.12.0//sbin'
test ! -f '/home/zyz/nginx1.12.0//sbin/nginx' \
    || mv '/home/zyz/nginx1.12.0//sbin/nginx' \
        '/home/zyz/nginx1.12.0//sbin/nginx.old'
cp objs/nginx '/home/zyz/nginx1.12.0//sbin/nginx'
test -d '/home/zyz/nginx1.12.0//conf' \
    || mkdir -p '/home/zyz/nginx1.12.0//conf'
cp conf/koi-win '/home/zyz/nginx1.12.0//conf'
cp conf/koi-utf '/home/zyz/nginx1.12.0//conf'
cp conf/win-utf '/home/zyz/nginx1.12.0//conf'
test -f '/home/zyz/nginx1.12.0//conf/mime.types' \
    || cp conf/mime.types '/home/zyz/nginx1.12.0//conf'
cp conf/mime.types '/home/zyz/nginx1.12.0//conf/mime.types.default'
test -f '/home/zyz/nginx1.12.0//conf/fastcgi_params' \
    || cp conf/fastcgi_params '/home/zyz/nginx1.12.0//conf'
cp conf/fastcgi_params \
    '/home/zyz/nginx1.12.0//conf/fastcgi_params.default'
test -f '/home/zyz/nginx1.12.0//conf/fastcgi.conf' \
    || cp conf/fastcgi.conf '/home/zyz/nginx1.12.0//conf'
cp conf/fastcgi.conf '/home/zyz/nginx1.12.0//conf/fastcgi.conf.default'
test -f '/home/zyz/nginx1.12.0//conf/uwsgi_params' \
    || cp conf/uwsgi_params '/home/zyz/nginx1.12.0//conf'
cp conf/uwsgi_params \
    '/home/zyz/nginx1.12.0//conf/uwsgi_params.default'
test -f '/home/zyz/nginx1.12.0//conf/scgi_params' \
    || cp conf/scgi_params '/home/zyz/nginx1.12.0//conf'
cp conf/scgi_params \
    '/home/zyz/nginx1.12.0//conf/scgi_params.default'
test -f '/home/zyz/nginx1.12.0//conf/nginx.conf' \
    || cp conf/nginx.conf '/home/zyz/nginx1.12.0//conf/nginx.conf'
cp conf/nginx.conf '/home/zyz/nginx1.12.0//conf/nginx.conf.default'
test -d '/home/zyz/nginx1.12.0//logs' \
    || mkdir -p '/home/zyz/nginx1.12.0//logs'
test -d '/home/zyz/nginx1.12.0//logs' \
    || mkdir -p '/home/zyz/nginx1.12.0//logs'
test -d '/home/zyz/nginx1.12.0//html' \
    || cp -R html '/home/zyz/nginx1.12.0/'
test -d '/home/zyz/nginx1.12.0//logs' \
    || mkdir -p '/home/zyz/nginx1.12.0//logs'
make[1]: 离开目录“/home/zyz/nginx-1.12.0”

4.启动nginx服务

两种启动方式:

命令cd /usr/local/nginx/sbin到目录执行:./nginxlinux安装nginx详细步骤和make编译报错问题(保姆级)

 或者执行:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

linux安装nginx详细步骤和make编译报错问题(保姆级)

4-1.配置nginx.conf

 //打开配置文件
 vi /usr/local/nginx/conf/nginx.conf

将端口号改成8089(随便挑个端口),因为可能apeache占用80端口,apeache端口尽量不要修改,我们选择修改nginx端口。将localhost修改为你服务器的公网ip地址。

5.重启nginx

/usr/local/nginx/sbin/nginx -s reload

6.若想使用外部主机访问nginx,需要关闭服务器防火墙或开放nginx服务端口,端口为上一步nginx.conf的配置端口

centOS6及以前版本使用命令: systemctl stop iptables.service

centOS7关闭防火墙命令: systemctl stop firewalld.service

关闭防火墙会导致服务器有一定风险,所以建议是单独开放服务端口 :
开放80端口:

firewall-cmd --zone=public --add-port=80/tcp --permanent

查询端口号80 是否开启:

firewall-cmd --query-port=80/tcp

重启防火墙:

firewall-cmd --reload 

随后访问该ip:端口 即可看到nginx界面。

7.访问服务器ip查看(备注,由于我监听的仍是80端口,所以ip后面的端口号被省略)

linux安装nginx详细步骤和make编译报错问题(保姆级)

安装完成一般常用命令
进入安装目录中

命令: cd /usr/local/nginx/sbin

启动,关闭,重启,命令:文章来源地址https://www.toymoban.com/news/detail-490018.html

./nginx 启动
./nginx -s stop 关闭
./nginx -s reload 重启 

到了这里,关于linux安装nginx详细步骤和make编译报错问题(保姆级)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • nginx的卸载与安装详细步骤

     nginx的安装可以分为两种安装方式,一种是编译安装,另一种是yum安装,本文主要分享编译安装过程与代码。编译安装可以根据自身的情况选择功能需要,进行定制,更加节约资源,性能更好。详细过程如下(以脚本形式呈现):  脚本执行完毕后,可根据以下方法检查ngin

    2024年02月05日
    浏览(24)
  • 虚拟打印机开源项目clawPDF最新版本在Windows+Visual Studio 环境编译运行遇到的若干问题,以及虚拟打印机驱动的安装和彻底卸载详细图文步骤

    虚拟打印机开源项目clawPDF最新版本在Windows+Visual Studio 环境编译运行遇到的若干问题,以及虚拟打印机驱动的安装和彻底卸载详细图文步骤。 错误提示: 不支持此版本的 Visual Studio 无法打开以下项目。可能未安装项目类型,或此版本的 Visual Studio 可能不支持项目类型。 有关

    2024年02月22日
    浏览(33)
  • CentOS7安装Nginx详细步骤

    1.首先,先去nginx官网下载压缩包:官网地址 2.然后把压缩包上传到我们CentOS7上。 上传完后接下来我们要安装一些依赖环境: 3.安装gcc环境(因为我们nginx底层其实是C语言开发的): yum install gcc-c++ 如果有弹出Is this ok这种提示,直接输入y然后回车就好了。 看到\\\"完毕\\\"说明安装完

    2024年02月05日
    浏览(49)
  • Debian 10 安装和配置Nginx的详细步骤

    在本篇博客中,我们将深入学习如何在Debian 10上安装、配置和管理Nginx,一个流行的开源Web服务器和反向代理服务器。我们将涵盖Nginx的安装、基本配置、添加自定义配置文件以及设置开机自动启动等操作。 步骤: 更新系统: 使用以下命令以root权限更新软件包列表和已安装

    2024年02月15日
    浏览(21)
  • Nginx make报错处理

    执行make操作,报出fatal error:sys/sysctl.h:No such file or directory 问题处理 这个报错的主要原因是随着 glibc 2.32 的发布,Linux 系统删除了sys/sysctl.h。 Linux Kernel 5.5 最终消除了支持 sysctl 系统调用的代码,该代码已被弃用了大约十年,目前对任何架构的现代系统都没有影响。 查看系统

    2024年02月04日
    浏览(17)
  • 【基础篇】Nginx安装 SSL模块、配置 HTTPS详细步骤

    nginx安装 1、查看 nginx是否安装 http_ssl_module 模块 如果出现 configure arguments: –with-http_ssl_module, 则已安装(下面的步骤可以跳过,进入 SSL 证书部署、nginx.conf 配置)。 否则按下述执行命令。 2、进入nginx源码包,重新执行下面命令,重新编译安装三部曲 3、上述命令执行完以后

    2023年04月16日
    浏览(31)
  • linux 搭建Nginx网页(编译安装)

    ♥️ 作者:小刘在C站 ♥️ 个人主页:  小刘主页  ♥️ 不能因为人生的道路坎坷,就使自己的身躯变得弯曲;不能因为生活的历程漫长,就使求索的 脚步迟缓。 ♥️ 学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏: 云计算技术 ♥️ 感谢CSDN让你我相遇

    2024年02月05日
    浏览(27)
  • 【C语言&C++编译器】VS2019离线安装版,附详细安装步骤和安装包

    网盘链接下载地址:链接:https://pan.baidu.com/s/1mj6ssEcyc1DBKTmRr_uoxw?pwd=2023 提取码:2023 --来自百度网盘超级会员V1的分享 —BD网盘链接点击跳转 1.右键 VS2019.rar ,选择解压到 VS2019 2.打开 vs2019vs2019_offlin 找到 vs_setup.exe 并双击启动 3.弹出界面选择 继续 4.在界面勾选以下如图选项,注

    2024年02月11日
    浏览(22)
  • linux 手动编译安装 pkg-config 步骤

    1. 下载源码 Index of /releases (pkg-config.freedesktop.org) 2. 解压 并 进入解压后的文件夹 3. 运行配置文件 错误解决办法:在linux中使用 ./configure 时报错 4. 编译、 自检、 安装 5. 安装完成后查看版本号;

    2024年02月14日
    浏览(20)
  • Ubuntu(乌班图)修改阿里云镜像源详细步骤及安装gcc编译器

    注:非root用户需要使用sudo(放在句首)用来提升权限 提示 :带#的用户是root用户,带$的是普通用户! 注:非root用户需要使用sudo(放在句首)用来提升权限 操作提示: 按一下Ecs键后,按D键不松开删除所有内容;再按Esc键后点击i键(此时下面显示为INSERT),复制粘贴阿里

    2024年02月06日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包