设为首页 收藏本站
查看: 1087|回复: 1

[经验分享] Centos7编译安装Nginx

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-3-24 12:59:08 | 显示全部楼层 |阅读模式
1:检查pcre是否安装,安装pcre库是为了使Nginx支持具备URL重写的rewrite模块.openssl是nginx使用https服务要用的模块。
1
2
3
4
5
6
7
8
9
rpm -qa|grep -E 'pcre|pcre-devel'
# 如果无返回结果,证明pcre包未安装,使用以下命令下载安装
yum install pcre pcre-devel -y
rpm -qa|grep -E 'openssl|openssl-devel'
# 如果返回值为空,表示系统尚未安装,安装命令如下
yum install openssl openssl-devel
rpm -qa |grep gcc gcc-c++
# 如果未安装gcc,则编译过程中会出现./configure: error: C compiler cc is not found错误
yum install gcc gcc-c++



2:安装nginx1-11-11
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
wget -q -P /tmp/
# 将nginx指定下载到当前目录下,-q表示断电断续
tar -zxvf /tmp/nginx-1.11.11.tar.gz -C /usr/local/src/
# 将软件固定存放在/usr/local/src/下
useradd nginx -s /sbin/nologin -M
cd /usr/local/src/nginx-1.11.11
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx-1.11.11/ --with-http_stub_status_module --with-http_ssl_module
# 编译参数说明:
# --prefix=PATH                                         # 设置安装路径
# --user=user --group=group                             # 设置运行nginx的用户和用户组
# --with-http_stub_status_module                        # 激活状态信息
# --with-http_ssl_module                                # 激活ssl功能
# Nginx的大部分模块功能都会编译到软件中,不需要单独指定编译参数                  
echo $?
make && make install
echo $?
ln -s /usr/local/nginx-1.11.11 /usr/local/nginx
# 设立一条软连接,好处是程序中如果有引用nginx路径的地方,不需要修改程序,如果升级nginx版本
直接重新做一条连接即可



3:启动并检查安装结果
1
2
3
4
5
6
7
8
9
10
11
[iyunv@C-A nginx-1.11.11]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx-1.11.11//conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx-1.11.11//conf/nginx.conf test is successful
# 在启动之前检查语法非常重要,可防止因配置错误导致网站重启或重新加载配置等对用户的影响。
[iyunv@C-A nginx-1.11.11]# /usr/local/nginx/sbin/nginx
# 启动nginx服务
[iyunv@C-A nginx-1.11.11]# lsof -i :80
COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   18360  root    6u  IPv4  45635      0t0  TCP *:http (LISTEN)
nginx   18361 nginx    6u  IPv4  45635      0t0  TCP *:http (LISTEN)
[iyunv@C-A nginx-1.11.11]# netstat -lnp|grep 80



4:Nginx启动的疑难杂症汇总

问题1:启动Nginx时有如下报错“nginx:[emerg] getpwnam("nginx")failed".
解答:这是因为没有对应的Nginx服务用户,执行useradd -s /sbin/nologin -M创建nginx用户即可。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[iyunv@C-A nginx-1.11.11]# pkill nginx
[iyunv@C-A nginx-1.11.11]# lsof -i :80
[iyunv@C-A nginx-1.11.11]# userdel nginx
[iyunv@C-A nginx-1.11.11]# lsof -i :80
[iyunv@C-A nginx-1.11.11]# /usr/local/nginx/sbin/nginx
nginx: [emerg] getpwnam("nginx") failed
[iyunv@C-A nginx-1.11.11]# useradd -s /sbin/nologin -M nginx
正在创建信箱文件: 文件已存在
[iyunv@C-A nginx-1.11.11]# /usr/local/nginx/sbin/nginx
[iyunv@C-A nginx-1.11.11]# lsof -i :80
COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   22812  root    6u  IPv4  54655      0t0  TCP *:http (LISTEN)
nginx   22813 nginx    6u  IPv4  54655      0t0  TCP *:http (LISTEN)
[iyunv@C-A nginx-1.11.11]#



问题2:如何查看编译安装nginx时的参数
解答:可采用如下命令
1
2
3
4
5
6
[iyunv@C-A nginx-1.11.11]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.11.11
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --user=nginx --group=nginx --prefix=/usr/local/nginx-1.11.11/ --with-http_stub_status_module --with-http_ssl_module



问题3:curl,浏览器等无法访问Nginx页面
解答:此类问题排查思路分在服务端和客户端,服务端可排查防火墙是否放行nginx端口。进程是否存在,进程启动的是否是80端口。客户端可排查是否Ping通服务器,telnet检查是否可连服务端80端口。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-354698-1-1.html 上篇帖子: nginx配置文件详解 下篇帖子: 编译安装nginx
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表