码迷,mamicode.com
首页 > 其他好文 > 详细

nginx 源码安装

时间:2018-03-26 10:43:44      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:Nginx   源码安装   

安装nginx

安装pcre库是为了让nginx支持具备URI重写功能的rewrite模块

[root@www ~]# yum install pcre pcre-devel -y
[root@www ~]# rpm -qa  pcre pcre-devel

安装nginx 依赖的包 openssl-devel


[root@www ~]# yum install openssl openssl-devel 
[root@www ~]# rpm -qa openssl openssl-devel

> 下载nginx源码包

[root@www tools]# wget -q http://nginx.org/download/nginx-1.9.2.tar.gz

> 解压

[root@www nginx-1.9.2]# tar xf nginx-1.9.2.tar.gz
[root@www nginx-1.9.2]# cd nginx-1.9.2


> 配置文件

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

> 安装

[root@www nginx-1.9.2]# make
[root@www nginx-1.9.2]# make install

> 创建软连接

[root@www nginx-1.9.2]# ln -s /application/nginx-1.9.2/ /application/nginx
[root@www nginx-1.9.2]# ls -l /application/nginx
lrwxrwxrwx 1 root root 25 Jan 7 03:16 /application/nginx -> /application/nginx-1.9.2/

> 检测nginx 配置文件知否正确

[root@www nginx-1.9.2]# /application/nginx/sbin/nginx -t
nginx: the configuration file /application/nginx-1.9.2//conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.9.2//conf/nginx.conf test is successful


> 启动nginx 

[root@www nginx-1.9.2]# /application/nginx/sbin/nginx

> 查看nginx服务对应的端口是否成功启动

[root@www nginx-1.9.2]# lsof -i :80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 3620 root 6u IPv4 27305 0t0 TCP :http (LISTEN)
nginx 3621 nginx 6u IPv4 27305 0t0 TCP
:http (LISTEN)

> 在防火墙上开端口

#查看防火墙上已经开启的端口`
[root@www nginx]# firewall-cmd --zone=public --list-port
#在防火墙上永久开启80端口
[root@www nginx]# firewall-cmd --zone=public --add-port=80/tcp --permanent
#重新载入
[root@www nginx]# firewall-cmd --reload

> 查看nginx 的目录结构

[root@master /]# tree /application/nginx/
/application/nginx/
├── client_body_temp
├── conf
│?? ├── fastcgi.conf
│?? ├── fastcgi.conf.default
│?? ├── fastcgi_params
│?? ├── fastcgi_params.default
│?? ├── koi-utf
│?? ├── koi-win
│?? ├── mime.types
│?? ├── mime.types.default
│?? ├── nginx.conf
│?? ├── nginx.conf.default
│?? ├── scgi_params
│?? ├── scgi_params.default
│?? ├── uwsgi_params
│?? ├── uwsgi_params.default
│?? └── win-utf
├── fastcgi_temp
├── html
│?? ├── 50x.html
│?? └── index.html
├── logs
│?? ├── access.log
│?? ├── error.log
│?? └── nginx.pid
├── proxy_temp
├── sbin
│?? └── nginx
├── scgi_temp
└── uwsgi_temp


### nginx配置虚拟主机
> 编辑Nginx的配置文件
```nginxconf
http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘
    #                  ‘$status $body_bytes_sent "$http_referer" ‘
    #                  ‘"$http_user_agent" "$http_x_forwarded_for"‘;

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
    #nginx 默认监听的端口
        listen       80;
    #配置的虚拟主机的域名(测试环境中是自定义的)
        server_name  www.one.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
        #新配置的虚拟主机所在根目录
            root   html/www;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache‘s document root
        # concurs with nginx‘s one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}

    }
    ....
  }

修改完了配置文件,我们知道虚拟主机的关键部分是server{}括号中内容

根据配置的虚拟主机的根目录,创建站点目录和文件,因为Nginx编译安装的时候默认的站定目录是html,所以在改目录下创建

[root@master conf]# mkdir ../html/www -p
[root@master conf]# echo "http://www.one.com" > ../html/www/index.html
[root@master conf]# cat ../html/www/index.html 
http://www.one.com

重新加载配置文件

  • 检查Nginx配置文件语法是否正确
    [root@master conf]# ../sbin/nginx -t
    nginx: the configuration file /application/nginx-1.9.2//conf/nginx.conf syntax is ok
    nginx: configuration file /application/nginx-1.9.2//conf/nginx.conf test is successful
  • 重新加载配置文件
    [root@master conf]# ../sbin/nginx -s reload
  • 检查Nginx重启加载后的情况
    [root@master conf]# ps -ef|grep nginx
    root      10820      1  0 08:54 ?        00:00:00 nginx: master process /application/nginx/sbin/nginx
    nginx     11152  10820  0 09:54 ?        00:00:00 nginx: worker process
    root      11154  11088  0 09:54 pts/1    00:00:00 grep --color=auto nginx
  • 本机的hosts文件解析(不是必须这样做) 和访问测试
    [root@master conf]# echo "192.168.85.129 www.one.com" >>/etc/hosts
    [root@master conf]# tail /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.85.130 www.one.com
    [root@master conf]# curl www.one.com
    http://www.one.com          #本地测试成功

nginx 源码安装

标签:Nginx   源码安装   

原文地址:http://blog.51cto.com/11845347/2090994

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!