linux 安装nginx

110 阅读2分钟
./configure --with-http_stub_status_module --with-http_ssl_module

4.编译安装

make
make install

5.查看nginx版本

/usr/local/nginx/sbin/nginx -v

Nginx命令

检查配置文件ngnix.conf的正确性命令:
/usr/local/nginx/sbin/nginx -t
/usr/local/webserver/nginx/sbin/nginx -s reload            # 重新载入配置文件
/usr/local/webserver/nginx/sbin/nginx -s reopen            # 重启 Nginx
/usr/local/webserver/nginx/sbin/nginx -s stop              # 停止 Nginx

类库缺少解决方案

1、GCC——GNU编译器集合(GCC可以使用默认包管理器的仓库(repositories)来安装,包管理器的选择依赖于你使用的Linux发布版本,包管理器有不同的实现:yum是基于Red Hat的发布版本;apt用于Debian和Ubuntu;yast用于SuSE Linux等等。)
RedHat中安装GCC:

yum install gcc

Ubuntu中安装GCC:

apt-get install gcc

2、PCRE库(Nginx编译需要PCRE(Perl Compatible Regular Expression),因为Nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法。这里需要安装两个安装包pcre和pcre-devel。第一个安装包提供编译版本的库,而第二个提供开发阶段的头文件和编译项目的源代码,这正是我们需要的理由。)
RedHat中安装PCRE:

yum install pcre pcre-devel

Ubuntu中安装PCRE:

apt-get install libpcre3 libpcre3-dev

3、zlib库(zlib库提供了开发人员的压缩算法,在Nginx的各种模块中需要使用gzip压缩。如同安装PCRE一样,同样需要安装库和它的源代码:zlib和zlib-devel。)
RedHat中安装zlib:

yum install zlib zlib-devel

Ubuntu中安装zlib:

apt-get install zlib1g zlib1g-dev

4、OpenSSL库(在Nginx中,如果服务器提供安全网页时则会用到OpenSSL库,我们需要安装库文件和它的开发安装包(openssl和openssl-devel)。)
RedHat中安装OpenSSL:

yum -y install openssl openssl-devel
sudo apt-get install libssl-dev

Ubuntu中安装OpenSSL:(注:Ubuntu14.04的仓库中没有发现openssl-dev):

apt-get install openssl openssl-dev

Nginx配置文件示例

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


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;

      upstream idea {
        least_conn;
        server 127.0.0.1:8080;
      }

      upstream king {
        least_conn;
        server 127.0.0.1:8082;
      }

    server{
		listen 80;
		rewrite  ^/(.*)$ https://www.kingblog.cc/$1 permanent;
    }

    server {
        listen 443 ssl;
        server_name kingblog.cc; #填写绑定证书的域名
        ssl_certificate 1_kingblog.cc_bundle.crt;
        ssl_certificate_key 2_kingblog.cc.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
        ssl_prefer_server_ciphers on;


		location / {
            proxy_pass http://king;
            proxy_redirect default;
            proxy_set_header Host $host:$proxy_port;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

  		location /idea {
            proxy_pass http://idea;
            proxy_redirect default;
			proxy_set_header Host $host:$proxy_port;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        error_page  404              /404.html;

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}
}