Centos7编译安装Nginx-阿里云开发者社区

开发者社区> 技术小阿哥> 正文

Centos7编译安装Nginx

简介:
+关注继续查看

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
[root@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
# 在启动之前检查语法非常重要,可防止因配置错误导致网站重启或重新加载配置等对用户的影响。
[root@C-A nginx-1.11.11]# /usr/local/nginx/sbin/nginx
# 启动nginx服务
[root@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)
[root@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
[root@C-A nginx-1.11.11]# pkill nginx
[root@C-A nginx-1.11.11]# lsof -i :80
[root@C-A nginx-1.11.11]# userdel nginx
[root@C-A nginx-1.11.11]# lsof -i :80
[root@C-A nginx-1.11.11]# /usr/local/nginx/sbin/nginx
nginx: [emerg] getpwnam("nginx") failed
[root@C-A nginx-1.11.11]# useradd -s /sbin/nologin -M nginx
正在创建信箱文件: 文件已存在
[root@C-A nginx-1.11.11]# /usr/local/nginx/sbin/nginx
[root@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)
[root@C-A nginx-1.11.11]#

问题2:如何查看编译安装nginx时的参数

解答:可采用如下命令

1
2
3
4
5
6
[root@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端口。



本文转自 运维小学生 51CTO博客,原文链接:http://blog.51cto.com/yasar/1909681,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
CentOS6.9编译安装nginx1.4.7
1.系统安装开发包组和zlib-devel,关闭iptables [root@bogon ~]# yum groupinstall -y "Development Tools" [root@bogon ~]# yum install -y zlib-devel [root@bogon ~]# yum...
641 0
CentOS6.9源码编译安装redis和php-redis扩展
这篇笔记记录了在CentOS6.9中源码编译安装redis,开机启动,和源码编译安装php-redis扩展的过程
1236 0
ECS编译安装Nginx
业务需求将在阿里云ECS上搭建Nginx
362 0
Redis数据库简介与(CentOS 7)编译安装
Redis数据库简介与(CentOS 7)编译安装
15 0
CentOS6.9源码编译安装memcached
这篇笔记记录了在CentOS6.9中源码编译安装libevent和memcached,设置开机启动,以及telnet测试的过程
1189 0
13694
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载