作为程序员一定要保持良好的睡眠,才能好编程

安装nginx的详细步骤

发布时间:2016-05-13

今天来看看如何安装nginx

现在流行两种web服务器,一种 apache  另一种就是nginx。应公司需求搭建nginx,如下:


安装nginx之前,需要上传文件,安装 一下  lrzsz 这个插件包吧,上传文件用。如果有好的办法,可以不用安装。


#yum install -y lrzsz



第一步:下载nginx

http://nginx.org/en/download.html

nginx.jpg



选择1.6.3 这个版本,

wget http://nginx.org/download/nginx-1.6.3.tar.gz

通过wget方法去下载这个文件,

1.jpg

下载完成


创建nginx进程使用的账号和用户组

加上 -r 就是系统用户  如果不加 -r 就是普通用户

[root@bogon soft]# groupadd -r nginx
[root@bogon soft]# useradd -g nginx -s /sbin/nologin -r nginx

2.jpg


[root@bogon soft]# cat /etc/passwd | grep nginx

3.jpg

看到上面的这张图,已经创建用户成功。


上传文件、或下载文件:把以下内容准备完毕

d5.jpg

在当前目录下执行下面的命令:
# tar -xf nginx-1.6.3.tar.gz

解压这个压缩包,先不着急操作,

4.jpg

安装nginx必须先安装这三个文件,要哪几个呢?

d4.jpg


需要这三个文件 

openssl-1.0.1c.tar.gz

zlib-1.2.8.tar.gz

pcre-8.38.tar.gz


准备好文件以后,就依次安装吧,看步骤


安装需要的系统文件:

yum install -y gcc gcc-c++



第一、openssl-1.0.1c.tar.gz

tar -xf openssl-1.0.1c.tar.gz

cd openssl-1.0.1c

#其他编译都是 ./configure 而这个软件不同,它是  ./config 记住即可。

./config

make    #编译

d6.jpg

make install    #安装

d7.jpg


第二、zlib-1.2.8.tar.gz

tar -xf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
make install

图示:

d8.jpg

d9.jpg

d10.jpg

d11.jpg


第三、pcre-8.38.tar.gzcd zlib-1.2.8
注意:安装pcre之前,它依赖于 gcc gcc-c++ 这些包,因此 需要检测是否安装,如果没有,安装一下

yum install -y gcc gcc-c++

d12.jpg


tar -xf pcre-8.38.tar.gz

cd pcre-8.38

./configure

d13.jpg

make

d14.jpg

make install

d15.jpg


cd nginx-1.6.3


d16.jpg


./configure --with-pcre=/a/pcre-8.38 --with-zlib=/a/zlib-1.2.8 --with-openssl=/a/openssl-1.0.1c --with-http_ssl_module



如果要安装keepalived 那么就要把 --with-http_stub_status_module  这句监控nginx运行状态的代码加上。

如:./configure --with-pcre=/a/pcre-8.38 --with-zlib=/a/zlib-1.2.8 --with-openssl=/a/openssl-1.0.1c --with-http_ssl_module --with-http_stub_status_module


或者使用下面这条编译语句:

./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-pcre=/usr/local/pcre --with-zlib=/usr/local/zlib --with-openssl=/usr/local/src/openssl-1.0.2j


需要注意一下的是:

这指的路径全部是源码的解压路径,

--with-pcre=/a/pcre-8.38 --with-zlib=/a/zlib-1.2.8 --with-openssl=/a/openssl-1.0.1c



d17.jpg

d22.jpg


make

d18.jpg

make install

d19.jpg



检测系统是否安装成功


cd /usr/local/nginx

d20.jpg

安装成功

#cd sbin

#ll
total 2788
-rwxr-xr-x. 1 root root 2854433 May 11 16:16 nginx
# ./nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

nginx1.png


启动nginx

B1.png


netstat -ntulp

netstat.png



测试网站是否可以访问:

启动成功.png

到这一步,证明nginx就可以访问了。


我们的nginx 服务安装完毕。


如果不能访问到这里,请设置一下防火墙


iptables -F

清空所有的规则。


2、为nginx提供SysV init脚本

    

在/etc/init.d/目录下编写脚本,名为nginx

#!/bin/sh
# nginx - this script starts and stops the nginx daemon
........
nginx="/usr/local/nginx/sbin/nginx"   #nginx 执行文件所在的位置
prog=$(basename $nginx)

NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"   #nginx配置文件一定要写对。

......


这个文件是带有省略代码的,

完整代码,可下载:

nginx.txt  下载这个文件,直接放在 /etc/init.d/这个目录下,起名叫 nginx 即可。


需要把.txt 去掉

B11.png


2.3 为此脚本赋予执行权限:

#chmod 755  /etc/rc.d/init.d/nginx

2.4添加至服务管理列表,并设置开机启动

# chkconfig --add nginx     #添加到服务管理列表
# chkconfig nginx on        #开机启动


第二种设置开机自启动的方法:

打开   vi /etc/rc.local

直接把下面代码复制到里

/etc/rc.d/init.d/nginx start

保存退出即可。

e4.png

和添加到  chkconfig --add nginx              chkconfig nginx start  和这样的代码是一样的。



2.5启动服务测试:

#service nginx start

d23.jpg

nginx启动、停止、无间断服务重启

# service nginx start
# service nginx stop
# service nginx reload


如果这里有哪一个编译错了,可以使用 make clean 清除上一次的编译。



遇到的问题(1):

(1)问题内容:sha1 library is not found

(2)原因分析:弄不清楚

(3)解决办法:configure的时候增加参数 --with-http_ssl_module


遇到的问题(2):

pcre8.38

打开这个网站

http://www.pcre.org/

找到

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Contrib/

pcre.png

下载要使用的版本:

我下载的是 pcre-8.38.tar.gz  通过wget 方式下载


wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Contrib/pcre-8.38.tar.gz


下载完毕后,解压

tar -xf pcre-8.38.tar.gz

B3.png


进入目录  cd pcre-8.38


B4.png


执行  ./configure 这个命令,在执行这个命令之前,要安装pcre 编译所需要的库

yum install -y gcc gcc-c++

必须执行,否则出错

./configure

configure: error: You need a C++ compiler for C++ support


make

make install


执行完毕

然后,执行pwd 看一下目录在哪里,在编译 nginx时需要填写这个路径

--with-pcre=/root/soft/pcre-8.38