CentOS上编译安装Nginx+实验环境搭建+测试

    Nginx作为一款优秀的Web Server软件同时也是一款优秀的负载均衡或前端反向代理、缓存服务软件,很有必要搭建实验环境来对其进行学习。

    本次实验的测试环境使用的宿主机操作系统为Windows 7,在Vmware虚拟机安装CentOS 6.5,说明如下:

  • 宿主机操作系统Windows 7

  • 虚拟机安装的操作系统CentOS 6.5

  • 虚拟机操作系统上网方式NAT

    而当使用NAT的方式进行上网时虚拟机、宿主机之间的网络连接关系可如下所示:

    另外需要注意的是这里安装的CentOS 6.5操作系统使用了最小化安装,并且只定制安装了一些常用的开发工具如gcc等,其版本信息如下:

[root@linuxidc ~]
# cat /etc/RedHat-release 
CentOS release 6.5 (Final)
[root@linuxidc ~]
# uname -r
2.6.32-431.el6.x86_64
[root@linuxidc ~]
# uname -m
x86_64

(1)安装Nginx依赖函数库pcre

    pcre为“perl兼容正则表达式”perl compatible regular expresssions,安装其是为了使Nginx支持具备URI重写功能的rewrite模块,如果不安装Nginx将无法使用rewrite模块功能,但是该功能却十分有用和常用。

    检查系统中是否有安装:

[root@linuxidc ~]
# rpm -q pcre pcre-devel

    上面可以看到并没有安装使用yum方式安装如下:

[root@linuxidc ~]
# yum install pcre pcre-devel -y
......
  
Installed:
 
pcre-devel.x86_64 0:7.8-7.el6                                                 
  
Updated:
 
pcre.x86_64 0:7.8-7.el6                                                       
  
Complete!

    安装完后检查一下是否已经成功安装:

[root@linuxidc ~]
# rpm -q pcre pcre-devel
pcre-7.8-7.el6.x86_64
pcre-devel-7.8-7.el6.x86_64

    可以看到已经安装成功。

(2)安装Nginx依赖函数库openssl-devel

    Nginx在使用HTTPS服务的时候要用到此模块,如果不安装openssl相关包,安装过程中是会报错的。

    检查系统是否有安装openssl相关包:

[root@linuxidc ~]
# rpm -q openssl openssl-devel 
openssl-1.0.1e-15.el6.x86_64
package openssl-devel is not installed

    可以看到只是安装了opensslopenssl-devel还没有安装使用yum安装如下:

[root@linuxidc ~]
# yum install -y openssl-devel
......
  
Complete!

    再次检查:

[root@linuxidc ~]
# rpm -q openssl openssl-devel         
openssl-1.0.1e-48.el6_8.4.x86_64
openssl-devel-1.0.1e-48.el6_8.4.x86_64

    可以看到都已经成功安装上。

(3)下载Nginx软件包

    这里使用的Nginx版本为1.6.3,下载方式如下:

[root@linuxidc ~]
# pwd
/root
[root@linuxidc ~]
# mkdir tools
[root@linuxidc ~]
# cd tools/
[root@linuxidc tools]
# wget http://nginx.org/download/nginx-1.6.3.tar.gz
......
100%[======================================>] 805,253      220K
/s   
in 
3.6s   
  
2017-02-24 12:10:26 (220 KB
/s
) - anginx-1.6.3.
tar
.gza saved [805253
/805253
]

    查看下载的Nginx软件包:

[root@linuxidc tools]
# ll
total 788
-rw-r--r--. 1 root root 805253 Apr  8  2015 nginx-1.6.3.
tar
.gz

    当然上面的方式是使用wget方式直接下载,前提是已经知道了Nginx的下载地址,也可以到官网下载,然后再上传到我们的CentOS操作系统上。

(4)开始安装Nginx

    可以先在根目录下创建一个/application文件夹用来存放我们安装的软件:

[root@linuxidc ~]
# mkdir /application
[root@linuxidc ~]
# ls -d /application/
/application/

  • 解压缩

    将我们刚刚下载的Nginx软件包解压缩:

[root@linuxidc tools]
# tar -zxvf nginx-1.6.3.tar.gz
......
[root@linuxidc tools]
# ls
nginx-1.6.3  nginx-1.6.3.
tar
.gz

  • 使用./configure指定编译参数

    先创建一个nginx用户用来安装完成后运行nginx使用:

[root@linuxidc tools]
# useradd nginx -s /sbin/nologin -M
[root@linuxidc tools]
# tail -1 /etc/passwd
nginx:x:500:500::
/home/nginx
:
/sbin/nologin
  
# -s参数后的/sbin/nologin指定不允许nginx进行登陆
# -M参数则是在创建该用户时不创建用户家目录

    使用configure命令指定编译参数:

[root@linuxidc nginx-1.6.3]
# ./configure --user=nginx --group=nginx --prefix=/application/nginx-1.6.3/ --with-http_stub_status_module --with-http_ssl_module

    对于配置时使用的参数可以通过./configure –help来进行查询,上面使用的参数解析如下:

--prefix=PATH       
# 指定安装路径
--user=USER         
# 设置用户进程权限
--group=GROUP       
# 设置用户组进程权限
--with-http_stub_status_module 
#  激活状态信息
--with-http_ssl_module         
#  激活ssl功能

  • 使用make进行编译

[root@linuxidc nginx-1.6.3]
# make
......

    检查编译是否成功:

[root@linuxidc nginx-1.6.3]
# echo $?
0

    返回0即说明编译成功。

  • 使用make install安装

[root@linuxidc nginx-1.6.3]
# make install
......

    检查安装是否成功:

[root@linuxidc nginx-1.6.3]
# echo $?     
0

    返回0即说明安装成功。

  • 建立安装目录的软链接

[root@linuxidc nginx-1.6.3]
# ln -s /application/nginx-1.6.3/ /application/nginx
[root@linuxidc nginx-1.6.3]
# ls -l /application/
total 4
lrwxrwxrwx. 1 root root   25 Feb 24 12:32 nginx -> 
/application/nginx-1
.6.3/
drwxr-xr-x. 6 root root 4096 Feb 24 12:28 nginx-1.6.3

    到此Nginx的编译安装工作已经全部完成了,下面就需要对安装结果进行验证了即验证Nginx是否可以正常提供服务。 

(1)启动Nginx服务前检查配置文件语法

    如下:

[root@linuxidc ~]
# /application/nginx/sbin/nginx -t
nginx: the configuration 
file 
/application/nginx-1
.6.3
//conf/nginx
.conf syntax is ok
nginx: configuration 
file 
/application/nginx-1
.6.3
//conf/nginx
.conf 
test 
is successful

(2)启动Nginx服务

[root@linuxidc ~]
# /application/nginx/sbin/nginx

    如果在启动Nginx服务时出现了问题可以查看Nginx的日志/application/nginx/logs/error.log,再根据日志提供的信息来进行解决。

(3)验证Nginx服务是否正常

  • 查看已开启的端口信息

[root@linuxidc ~]
# netstat -lnp | grep 80
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      6772
/nginx         
unix  2      [ ACC ]     STREAM     LISTENING     9180   1
/init             
@
/com/Ubuntu/upstart

    可以看到Nginx已经在侦听80端口。

  • 查看Nginx进程

[root@linuxidc ~]
# ps aux | grep nginx
root       6772  0.0  0.1  45028  1140 ?        Ss   12:34   0:00 nginx: master process 
/application/nginx/sbin/nginx
nginx      6773  0.0  0.1  45460  1716 ?        S    12:34   0:00 nginx: worker process       
root       6777  0.0  0.0 103256   832 pts
/1   
S+   12:36   0:00 
grep 
nginx

  • 在宿主机上使用浏览器进行测试

    在我们宿主机的浏览器上输入http://10.0.0.101/,查看测试结果

    可以正常访问,当然前提是CentOS上的防火墙功能已经关闭。

  • 使用wget命令和curl命令测试

    wget命令:

[root@linuxidc tools]
# wget 127.0.0.1
--2017-02-24 12:41:05--  http:
//127
.0.0.1/
Connecting to 127.0.0.1:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 612 [text
/html
]
Saving to: aindex.htmla
  
100%[======================================>] 612         --.-K
/s   
in 
0s     
  
2017-02-24 12:41:05 (44.1 MB
/s
) - aindex.htmla saved [612
/612
]

    currl命令:

[root@linuxidc tools]
# curl 127.0.0.1
<!DOCTYPE html>
<html>
<
head
>
<title>Welcome to nginx!<
/title
>
<style>
   
body {
       
width: 35em;
       
margin: 0 auto;
       
font-family: Tahoma, Verdana, Arial, sans-serif;
   
}
<
/style
>
<
/head
>
<body>
<h1>Welcome to nginx!<
/h1
>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.<
/p
>
  
<p>For online documentation and support please refer to
<a href=
"http://nginx.org/"
>nginx.org<
/a
>.<br/>
Commercial support is available at
<a href=
"http://nginx.com/"
>nginx.com<
/a
>.<
/p
>
  
<p><em>Thank you 
for 
using nginx.<
/em
><
/p
>
<
/body
>
<
/html
>

    从上面的结果可以说明Nginx已经正常部署并运行。 

    通过修改/application/nginx/html下的index.html文件,我们就可以改变Nginx主页显示的内容,操作如下:

[root@linuxidc tools]
# cd /application/nginx/html/
[root@linuxidc html]
# ls
50x.html  index.html
[root@linuxidc html]
# mv index.html index.html.source
[root@linuxidc html]
# echo "<h1>Hello, I'm linuxidc.</h1>">index.html
[root@linuxidc html]
# ls
50x.html  index.html  index.html.
source
[root@linuxidc html]
# cat index.html
<h1>Hello, I'm linuxidc.<
/h1
>

    这时在宿主机操作系统上访问http://10.0.0.101/

    可以看到已经显示我们编辑的页面了。

    不管是用于学习还是在生产环境中使用,Nginx都十分重要,而好的开始是成功的一半,所以第一步当然是要把Nginx服务搭建好。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/221948.html<

(0)
运维的头像运维
上一篇2025-04-15 06:42
下一篇 2025-04-15 06:44

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注