您的位置:首页 > 运维架构 > Nginx

Linux(Centos)环境安装Nginx

2018-03-11 01:10 489 查看
最近买了一台Centos环境的服务器,在配置Nginx的时候出现了一点点问题,经过一番查找终于解决了问题。以下为安装配置过程:

一、准备工作

1、Nginx的安装依赖于以下三个包,所以在安装前要准备好以下的三个包:

SSL功能需要openssl库,下载地址:http://www.openssl.org/

gzip模块需要zlib库,下载地址:http://www.zlib.net/

rewrite模块需要pcre库,下载地址:http://www.pcre.org/

2、准备Nginx的安装包:下载地址:http://nginx.org/en/download.html

3、(通过WinSCP或其他方式)将下载好的4个包上传至服务器,我的上传路径为:/usr/local

4、安装过程中需要使用C++编译环境,安装命令如下:

yum install -y gcc gcc-c++


二、安装SSL功能需要openssl库

1. tar -zxvf openssl-1.0.2n.tar.gz
2. cd openssl-1.0.2n
3. ./config
4. make
5. make install


如果没有报错,则安装完成

三、安装gzip模块需要的zlib库

1. tar -zxvf prce-8.38.tar.gz
2. cd prce-8.38
3. ./configure
4. make
5. make install


如果没有报错,则安装完成

四、安装rewrite模块需要pcre库

1. tar -zxvf zlib-1.2.11.tar.gz
2. cd zlib-1.2.11
3. ./configure
4. make
5. make install


如果没有报错,则安装完成

五、安装 Nginx服务

1. tar -zxvf nginx-1.12.2.tar.gz
2. cd nginx-1.12.2
3. ./configure --with-pcre=../pcre-8.38/ --with-zlib=../zlib-1.2.11/ --with-openssl=../openssl-1.0.2n/
4. make
5. make install


第3步./configure后面的参数是前面安装的三个库的相对路径

如果没有报错,则安装完成

六、启动Nginx

如果已经执行到这一步,则Nginx已经全部安装完成

/usr/local/nginx/sbin/nginx -t


如果如下图所示,则已经安装配置成功。



如果出现没有权限的情况(Permission denied),则需要给文件赋值权限

chmod -R 777 /usr/local/nginx


启动Nginx

/usr/local/nginx/sbin/nginx


七、检测Nginx是否启动成功

查看nginx进程号及运行情况

ps -ef | grep nginx


查看nginx进程监听端口

netstat -ntlp | grep 80


Links是一个运行在命令行模式下的Web浏览器,只能查看字符。

安装命令:yum install links

通过linux自带命令links 测试

links 127.0.0.1


如果出现 welcome to nginx!则说明nginx服务启动成功

八、问题与解决方案

如果出现没有权限的情况(Permission denied),则需要给文件赋值权限

chmod -R 777 /usr/local/nginx


如果外部环境访问不了,查看80端口是否已经开放

可以关闭尝试防火墙,或者更改防火墙配置

service iptables stop // 关闭防火墙
vim /etc/sysconfig/iptables // 编辑配置文件
/etc/init.d/iptables restart // 重启防火墙
service iptables status // 查看防火墙状态


如果防火墙已经关闭或者已经开放了80端口,但是外部环境还是访问不了,可以看一下服务器的安全组配置,允许80端口



九、开机自启动Nginx

首先,rc.local是Linux启动程序在login程序前执行的最后一个脚本

vim /etc/rc.local


打开/etc目录下的rc.local之后,发现最上方有三行默认的注释:

This script will be executed after all the other init scripts.

You can put your own initialization stuff in here if you don’t

want to do the full Sys V style init stuff.

英语不是很好,就不翻译了,但是很明显可以把Nginx的启动命令添加到这里面:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

当然也可以直接执行命令行,将启动命令添加到/etc/rc.local

echo "/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf" >> /etc/rc.local


重启(shutdown -r now)之后就会发现Nginx也已经启动好了。

以上,有问题再补充。

版权声明:本文为博主原创文章,未经博主允许不得转载

http://blog.csdn.net/qq_39241443/article/details/79451433
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息