1、安装nginx

①、为了确保能在 nginx 中使用正则表达式进行更灵活的配置,安装之前需要确定系统是否安装有 PCRE(Perl Compatible Regular Expressions)包。您可以到 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCRE 包:

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.12.tar.bz2

tar jxvf pcre-8.12.tar.bz2

cd pcre-8.10

./configure –enable-utf8

make

make install

②、为nginx创建用户及用户组

useradd www-nginx

groupadd www 如果www用户组已经存在就跳过些步

gpasswd -a www-nginx www

③、安装nginx

wget http:/

ginx.org/download ginx-1.0.3.tar.gz

tar zxvf nginx-1.0.3.tar.gz

cd nginx-1.0.3

./configure

–prefix=/usr –sbin-path=/usr/sbin ginx –conf-path=/etc ginx ginx.conf –error-log-path=/var/log ginx/error.log –pid-path=/var/run ginx ginx.pid –lock-path=/var/lock ginx.lock 注意:这里的with-pcre,with-openssl,with-zlib后面的路径均为其源代码路径而非安装后的文件路径 –user=www-nginx –group=www –with-http_ssl_module –with-http_stub_status_module –with-http_flv_module –with-http_gzip_static_module –http-log-path=/var/log ginx/access.log –http-client-body-temp-path=/var/tmp ginx/client/ –http-proxy-temp-path=/var/tmp ginx/proxy/ –http-fastcgi-temp-path=/var/tmp ginx/fcgi/ // 简单安装 ./configure –user=www-nginx –group=www –prefix=/opt ginx –with-http_stub_status_module –with-http_ssl_module

make

make install

–with-http_stub_status_module 是为了启用 nginx 的 NginxStatus 功能,用来监控 nginx 的当前状态。 –with-http_ssl_module 启用http_ssl模块 –with-ipv6 支持ipv6

安装成功后 /opt ginx 目录下有四个子目录分别是:conf、html、logs、sbin 。其中 nginx 的配置文件存放于 conf ginx.conf,nginx 只有一个程序文件位于 sbin 目录下的 nginx 文件。确保系统的 80 端口没被其他程序占用,运行 sbin ginx 命令来启动 Nginx,打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 nginx 已经安装并运行成功。

2、使用 OpenSSL 生成证书

创建并进入sslkey存放目录

mkdir /opt

ginx/sslkey

cd /opt

ginx/sslkey

①、生成RSA密钥:

openssl genrsa -out key.pem 2048

②、生成一个证书请求

openssl req -new -key key.pem -out cert.csr

//会提示输入省份、城市、域名信息等,重要的是,email 一定要是你的域名后缀的你可以拿着这个文件去数字证书颁发机构(即CA)申请一个数字证书。CA会给你一个新的文件cacert.pem,那才是你的数字证书。

如果是自己做测试,就可以用下面这个命令来生成证书:

openssl req -new -x509 -nodes -out server.crt -keyout server.key

③、修改 nginx 配置 upstream payment { server 127.0.0.1:8080; server 127.0.0.1:8090; }

HTTPS server

# server { listen 443; server_name www.openeasy.net;

ssl on; ssl_certificate /opt ginx/sslkey/server.crt; ssl_certificate_key /opt ginx/sslkey/server.key;

ssl_session_timeout 5m;

ssl_protocols SSLv2 SSLv3 TLSv1; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_prefer_server_ciphers on;

location / { proxy_pass http://payment/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout 10s; proxy_read_timeout 10s; } }

3、配置jexus linux dotnet服务器集群

upstream payment { server 127.0.0.1:8080; server 127.0.0.1:8090; }

这里的server就是你的Jexus的服务器列表具体配置参见 用Jexus V4.2 搭建Linux dotnet web server

常用的 Nginx 参数和控制

程序运行参数

Nginx 安装后只有一个程序文件,本身并不提供各种管理程序,它是使用参数和系统信号机制对 Nginx 进程本身进行控制的。 Nginx 的参数包括有如下几个:

-c :使用指定的配置文件而不是 conf 目录下的 nginx.conf 。

-t:测试配置文件是否正确,在运行时需要重新加载配置的时候,此命令非常重要,用来检测所修改的配置文件是否有语法错误。

-v:显示 nginx 版本号。

-V:显示 nginx 的版本号以及编译环境信息以及编译时的参数。

例如我们要测试某个配置文件是否书写正确,我们可以使用以下命令

sbin ginx – t – c conf ginx2.conf

通过信号对 nginx 进行控制

nginx 支持下表中的信号:

信号名 作用描述 TERM, INT 快速关闭程序,中止当前正在处理的请求 QUIT 处理完当前请求后,关闭程序 HUP 重新加载配置,并开启新的工作进程,关闭就的进程,此操作不会中断请求 USR1 重新打开日志文件,用于切换日志,例如每天生成一个新的日志文件 USR2 平滑升级可执行程序 WINCH 从容关闭工作进程

有两种方式来通过这些信号去控制 Nginx,第一是通过 logs 目录下的 nginx.pid 查看当前运行的 Nginx 的进程 ID,通过 kill – XXX 来控制 Nginx,其中 XXX 就是上表中列出的信号名。如果您的系统中只有一个 Nginx 进程,那您也可以通过 killall 命令来完成,例如运行 killall – s HUP nginx 来让 Nginx 重新加载配置。