Linux 环境下nginx
服务需要依赖一些额外的lib
库,安装nginx
前需要安装这些依赖。笔者建议使用yum
源安装。
如果没有安装gcc命令,请先安装gcc
yum install gcc-c++
安装zlib zlib-devel
yum install -y zlib zlib-devel
安装pcre pcre-devel
yum install -y pcre pcre-devel
安装openssl openssl-devel
yum install -y openssl openssl-devel
安装完依赖环境之后,通过源码包安装nginx,通过如下网站,下载Linux下的安装包
http://nginx.org/download
进入usr/local
,通过wget
命令下载nginx
安装包。笔者安装版本为 1.8.0
cd /usr/local
wget http://nginx.org/download/nginx-1.8.0.tar.gz
使用tar
命令进行解压缩
tar -zvxf nginx-1.8.0.tar.gz
更改目录nginx-1.8.0
为nginx
mv nginx-1.8.0 nginx
效果如下
进入nginx
,查看初始目录结构如下
执行./configure
配置,此时如果前文提到的相关资源库没有安装,则会出现类似如下错误。
./configure: error: the HTTP rewrite module requires the PCRE library.
重新执行./configure
,接下来笔者这边出现了如下错误OpenSSL library is not used
,通过错误我们知道,没有找到openssl
相关的lib
而其他两个依赖包已经找到了。这是因为./configure
在系统默认环境变量中没有找到openssl
相的lib
,此时我们使用which openssl
命令查找,然后通过--with-openssl
参数指定openssl
的位置,笔者的是在 /usr/bin/openssl
./configure --with-openssl=/usr/bin/openssl
没有报错,执行 make && make install
编译并安装,也可以分开写,先 make
在 make install
,此时可能会报如下错误:
这个错误其实是指在nginx
目录下没有找到logs
的目录,此时我们只需要手动创建logs目录即可
mkdir logs
接下来启动nginx
,执行 ./sbin/nginx
使用默认的配置启动nginx,此时如果没有报错,那么在我们的服务器中此时已经产生了两条nginx
相关的进程,使用ps
命令验证,
ps -ef | grep nginx
我们看到有两条nginx
相关的进程,其中一条master
进程,这是nginx
的主进程,此进程是管理进程,而另一条worker
进程,才是nginx
的工作进程。
接下来访问nginx
的index.html
,使用curl
命令模拟get
请求。(nginx
默认监听80端口)
在宿主机中访问
在宿主机中访问,需要在开放80端口,在/etc/sysconfig/iptables
添加如下
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
重启防火墙
service iptables restart
通过IP访问,结果如下