需要预先安装的工具(第三个用于HTTPS,不需要可以不装):
yum install zlib gzip zlib-devel
yum install gcc gcc-c++ ncurses-devel perl
yum -y install openssl openssl-devel
1. 安装pcre
下载:wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
解压:tar -xzvf pcre-8.35.tar.gz
配置:./configure
安装:make && make install
2. 安装nginx
1)下载,地址:http://nginx.org/en/download.html
有三种版本可供选择,MainLine(主线版本),Stable(稳定版),Legacy(历史版本,也都是稳定版)。根据自己需要选择。
我这里选择的是nginx-1.12.1
2)解压
tar -xzvf nginx-1.12.1.tar.gz
3)配置
./configure --prefix=/usr/local/nginx/conf --with-http_stub_status_module --with-http_ssl_module
* 此时不会在指定目录下生成文件,需要执行下面的make install命令后才有
* 后面两个选项,仅在需要https时使用
make
make install
* make执行后,会在/usr/local/nginx/conf目录下生成运行文件(如果没有生成文件,尝试手动创建conf文件夹),而不是在第二步解压后的文件中运行。
* 如果需要配置https证书,则应在/usr/local/nginx/conf/conf目录下,创建文件夹cert,然后将证书文件(xx.key,xx.pem)放在该目录下
4.启动
cd /usr/local/nginx/conf/sbin
./nginx
其它命令
./nginx -s reload
./nginx -s stop
./nginx -s reopen
5. 配置示例(仅静态文件)
1)
location = / {
# 只匹配"/".
[ configuration A ]
}
2)
location / {
# 匹配任何请求,因为所有请求都是以"/"开始
# 但是更长字符匹配或者正则表达式匹配会优先匹配
[ configuration B ]
}
3)
location ^~ /images/ {
# 匹配任何以 /images/ 开始的请求,并停止匹配其它location
[ configuration C ]
}
4)
location ~* .(gif|jpg|jpeg)$ {
# 匹配以 gif, jpg, or jpeg结尾的请求.
# 但是所有 /images/ 目录的请求将由[Configuration C]处理.
[ configuration D ]
}
5)
location ^~ /t/ {
root /www/root/html/;
}
如果一个请求的URI是/t/a.html时,web服务器将会返回服务器上的/www/root/html /t /a.html的文件。location ^~ /t/ {
alias /www/root/html/new_t/;
}
如果一个请求的URI是/t/a.html时,web服务器将会返回服务器上的/www/root/html/ new_t /a.html的文件。注意这里是new_t,因为alias会把location后面配置的路径丢弃掉,把当前匹配到的目录指向到指定的目录。7)https
server {
listen 443 ssl;
server_name localhost;
ssl_certificate cert/xxx.pem;
ssl_certificate_key cert/xxx.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location ~ .*\.(html|css|js|png|jpg|gif|ico)$ {
root /usr/local/nginx/conf/data;
}
location / {
root html;
index index.html index.htm;
}
}