nginx初探之Hello World

想先说点题外话,行业发展迅速,也有一个非常好的开源环境,每个人在学习进步的同时也不忘感恩社区,但是随着技术的进步,有的文档博客可能写的时候都是最新的东西,等你参考的时候已经落后了,所以看资料前要先看发布时间,在看博客之前先看官方文档。OK,现在进入正题——

如果不是参与这个项目,可能我暑假买的服务器还在吃灰状态,前天中午老师给的目标是用nginx先实现个Hello World的界面,结果弄了一天一直没成功,因为有时候项目的服务器重装之类要老师的手机发送验证码,所以昨晚我就开始在自己的服务器折腾了,等成功了再复制到项目服务器。

系统用的是:CentOS 7.4 64位

nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息。

0.准备

正式开始前,编译环境gcc g++ 开发库之类的需要提前装好。
安装make:

$ yum -y install gcc automake autoconf libtool make

安装gcc和g++(安装前查询服务器是否已经有了):

$ yum install gcc gcc-c++

一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。

1.选定源码目录

可以是任何目录,本文选定的是/usr/local/src

    $ cd /usr/local/src

2.安装PCRE库

下载最新的PCRE 源码包,使用下面命令下载编译和安装 PCRE 包:
highlight.js $ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz $ tar -zxvf pcre-8.39.tar.gz $ cd pcre-8.39 $ ./configure $ make $ make install

3.安装zlib库

下载最新的 zlib源码包 ,使用下面命令下载编译和安装 zlib包:
highlight.js $ cd /usr/local/src $ wget http://zlib.net/zlib-1.2.11.tar.gz $ tar -zxvf zlib-1.2.11.tar.gz $ cd zlib-1.2.11 $ ./configure $ make $ make install

4.安装ssl(先查询是否已安装)

$ cd /usr/local/src
$ wget https://www.openssl.org/source/openssl-1.1.0g.tar.gz
$ tar -zxvf openssl-1.1.0g.tar.gz

5.安装nginx

Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /usr/local/nginx 目录下的详细步骤:
```highlight.js
$ cd /usr/local/src
$ wget http://nginx.org/download/nginx-1.12.2.tar.gz
$ tar -zxvf nginx-1.12.2.tar.gz
$ cd nginx-1.12.2

$ ./configure --sbin-path=/usr/local/nginx/nginx \
--conf-path=/usr/local/nginx/nginx.conf \
--pid-path=/usr/local/nginx/nginx.pid \
--with-http_ssl_module \
--with-pcre=/usr/local/src/pcre-8.39 \
 --with-zlib=/usr/local/src/zlib-1.2.11 \
 --with-openssl=/usr/local/src/openssl-1.1.0g

$ make
$ make install

```

(make之前三行要根据自己的路径和版本而定)

安装成功后 /usr/local/nginx 目录下如下(一共18个文件或文件夹)

fastcgi.conf            koi-win             nginx.conf.default
fastcgi.conf.default    logs                scgi_params
fastcgi_params          mime.types          scgi_params.default
fastcgi_params.default  mime.types.default  uwsgi_params
html                    nginx               uwsgi_params.default
koi-utf                 nginx.conf          win-utf

6.修改nginx.conf配置文件

增加下面这个server:

server {
        listen 80;
        location / {
            root html;
        }
    }

7.启动

先确保系统的 80 端口没被其他程序占用。
查询:

$ fuser -n tcp 80

看看是什么被占用,也可以用netstat -ntpl看看谁占用,然后KILL掉占用的PID
然后通过 kill -9 删除进程 (eg:kill -9 21966)
然后执行以下命令:

$ /usr/local/nginx/nginx -c 
$ /usr/local/nginx/nginx.conf

-c制定配置文件的路径,不加-nginx会自动加载默认路径的配置文件。

8.测试

打开浏览器,输入服务器IP地址。