Nginx安装及配置虚拟主机
nginx安装部分
依赖环境
yum -y install gcc zlib openssl-devel zlib-devel
1. 下载好下面两个包:
nginx-1.8.1.tar.gz
pcre-8.36.tar.gz
2. 为了支持rewrite功能,我们需要安装pcre
http://ftp.exim.llorien.org/pcre/pcre-8.36.tar.gz tar xf pcre-8.36.tar.gz -C /usr/src/
./configure --prefix=/usr/local/pcre --enable-utf8 --enable-jit
make && make install
configure: error: You need a C++ compiler for C++ support.
yum install gcc-c++
3.安装openssl
需要ssl的支持,如果不需要ssl支持,请跳过这一步
yum -y install openssl*
4. 安装nginx
#下载地址http://nginx.org/download/nginx-1.8.1.tar.gz
#tar xf nginx-1.8..tar.gz
# cd nginx-1.8.
# ./configure --prefix=/usr/local/nginx --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/run/nginx/nginx.lock --user=daemon --group=daemon --with-pcre=/usr/src/pcre-8.36 --with-threads
#make && make install
##################注意:--with-pcre后面跟的是pcre的解压路径,赌五毛
--prefix=/usr/local/nginx #指定nginx 的安装路径
--error-log-path=/var/log/nginx/error.log #指定nginx错误日志的路径
--http-log-path=/var/log/nginx/access.log #指定用户访问http时信息保存路径
--pid-path=/var/run/nginx/nginx.pid #指定nginx的PID我i只
--lock-path=/var/run/nginx/nginx.lock
--user=daemon --group=daemon #指定nginx的用户和组
--with-pcre=/usr/src/pcre-8.36 --with-threads #为了支持rewrite重写功能,指定pcre解压路径
###########################附加常用选项--------------------------------
--with-http_stub_status_module:支持nginx状态查询
--with-http_ssl_module:支持https
--with-http_spdy_module:支持google的spdy,想了解请百度spdy,这个必须有ssl的支持
-------------------------------------------------------------------
对nginx主配置文件进行修改
# cd /usr/local/nginx/
client_body_temp fastcgi_temp logs sbin uwsgi_temp
conf html proxy_temp scgi_temp
#conf:存放了nginx的配置文件
#html:网页存放目录
#sbin:nginx服务启动目录
#cd conf/
#vim nginx.conf #nginx的主配置文件
user daemon;
#主模块指令,指定 Nginx Worker 进程运行用户以及用户组,默认由 nobody 账号运行。
worker_processes ;
#主模块指令,指定了 Nginx 要开启的进程数。每个 Nginx 进程平均耗费 10M~12M 内存。根据经验,一般指定一个进程足够了,如果是多核 CPU,建议指定和 CPU 的数量一样的进程数即可,可以用/proc/cpuinfo |grep process查看系统cpu数
error_log logs/error.log warn;
#主模块指令,用来定义全局错误日志文件。日志输出级别有debug、info、notice、warn、error、crit 可供选择,其中,debug 输出日志最为最详细,而 crit 输出日志最少。
pid /var/run/nginx/nginx.pid;
#主模块指令,用来指定进程 id 的存储文件位置。
events {
#设定 Nginx 的工作模式及连接数上限
worker_connections ;
#worker_connections 也是个事件模块指令,用于定义 Nginx 每个进程的最大连接数,默认是 .最大客户端连接数由 worker_processes 和worker_connections 决定,即Max_client=worker_processes*worker_connections,在作为反向代理时,max_clients 变为:max_clients = worker_processes * worker_connections/4进程的最大连接数受 Linux 系统进程的最大打开文件数限制,在执行操作系统命令“ulimit -n ”后 worker_connections 的设置才能生效。
}
#下面这段内容是 Nginx 对 HTTP 服务器相关属性的配置
http {
include mime.types;
#主模块指令,实现对配置文件所包含的文件的设定,可以减少主配置文件的复杂度。类似于 Apache 中的 include 方法。
default_type application/octet-stream;
#属于 HTTP 核心模块指令,这里设定默认类型为二进制流,也就是当文件类型未定义时使用这种方式,例如在没有配置 PHP 环境时,Nginx 是不予解析的,此时,用浏览器访问 PHP 文件就会出现下载窗口。
#log_format 是 Nginx 的 HttpLog 模块指令,用于指定 Nginx 日志的输出格式。main 为此日志输出格式的名称,可以在下面的 access_log 指令中引用。
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 /var/log/nginx/access.log main;
#client_max_body_size 20m; 用来设置允许客户端请求的最大的单个文件字节数。
#client_header_buffer_size 32K; 用于指定来自客户端请求头的 headerbuffer 大小。对于大多数请求,1K 的缓冲区大小已经足够,如果自定义了消息头或有更大的 Cookie,可以增加缓冲区大小。这里设置为 32K。
#large_client_header_buffers 32k; 用来指定客户端请求中较大的消息头的缓存最大数量和大小,“”为个数,“32K”为大小,最大缓存量为 个 32K。
sendfile on; #用于开启高效文件传输模式。 tcp_nopush 和 tcp_nodelay 两个指令设置为将on 用于防止网络阻塞。
tcp_nopush on;
keepalive_timeout ;
#设置客户端连接保持活动的超时时间。在超过这个时间之后,服务器会关闭该连接。
#下面配置 Nginx 的 HttpGzip 模块。这个模块支持在线实时压缩输出数据流
gzip on; #用于设置开启或者关闭 gzip 模块,“gzip on”表示开启 GZIP 压缩,实时压缩输出数据流。
gzip_min_length 2k; #设置允许压缩的页面最小字节数,页面字节数从 header 头的Content-Length 中获取。默认值是 ,不管页面多大都进行压缩。建议设置成大于 1K 的字节数,小于 1K 可能会越压越大。
gzip_buffers 8k; #表示申请 个单位为 8K 的内存作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存空间来存储 gzip 压缩结果。
gzip_http_version 1.1; #用于设置识别 HTTP 协议版本,默认是 1.1,目前大部分浏览器已经支持 GZIP 解压,使用默认即可。
gzip_comp_level ; #用来指定 GZIP 压缩比, 压缩比最小,1处理速度最快; 压缩比最大,9传输速度快,但处理最慢,也比较消耗 cpu 资源。
gzip_types test/plain application/x-javascript test/css application/xmli application/xml+rss test/javascript image/jpg image/gif image/png; #用来指定压缩的类型,无论是否指定,“text/html”类型总是会被压缩的 #下面介绍对虚拟主机的配置。建议将对虚拟主机进行配置的内容写进另外一个文件,然后通过include 指令包含进来,这样更便于维护和管理。 server { #server 标志定义虚拟主机开始
listen ; #listen 用于指定虚拟主机的服务端口
server_name www.sxkj.com; #用来指定 IP 地址或者域名,多个域名之间用空格分开
charset utf-; #设置网页的默认编码格式。 #access_log logs/host.access.log main; #用来指定此虚拟主机的访问日志存放路径,最后的 main 用于指定访问日志的输出格式。
location / { #指定虚拟主机的根目录
root /web/;
index index.html index.htm;
}
#error_page /.html; # redirect server error pages to the static page /50x.html
#
#error_page /50x.html;
error_page /.html; location = /.html {
root /web/error;
}
Nginx主配置文件部分解释
-------------------------------------------------------------------
# cat /proc/cpuinfo |grep process //查看系统
processor : 0
-------------------------------------------------------------------
# /usr/local/nginx/sbin/nginx \\启动nginx
# /usr/local/nginx/sbin/nginx -s stop \\停止nginx
# /usr/local/nginx/sbin/nginx -s reload \\重载配置文件
安装Nginx就到这里止步了,,以下是配置虚拟主机部分,若是需要就继续,不需要就跳转把...
配置部分
nginx配置虚拟主机
1)、nginx配置多个虚拟主机,也就是我们通常说的配置域名.接下来我们配置两个域名a.losbyday.com,b.losbyday.com。
我们站点统一放到/www下,每个站点根目录名称都和域名相同,并且建立日志文件具体如下。
#新建a.ttlsa.com的站点根目录
mkdir -p /www/a.losbyday.com
#新建a站的首页index.html
echo "this is a.losbyday.com" >>/www/a.losbyday.com/index.html
#新建b.ttlsa.com站点根目录
mkdir -p /www/b.losbyday.com
#新建b站首页index.html,内容如this is b.losbyday.com!
echo "this is b.losbyday.com" >>/www/b.losbyday.com/index.html
#新建日志文件目录
mkdir -p /usr/local/nginx/logs/nginx
2)、配置nginx主配置文件nginx.conf
先配置nginx日志格式,在nginx.conf找到如下内容,并且将#注释标志去掉
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#虚拟主机a.losbyday.com配置
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;
keepalive_timeout 65;
server{
server_name a.losbyday.com;
listen 80;
root /www/a.losbyday.com; # 站点根目录(程序目录)
index index.html index.htm; # 索引文件
access_log logs/a.losbyday.com.access.log main;
location / {
}
}
# 开始配置一个域名,一个server配置段一般对应一个域名
#虚拟主机b.losbyday.com配置
server{
server_name b.losbyday.com; # 域名
listen 80;
root /www/b.losbyday.com; # 站点根目录(程序目录)
index index.html index.htm; # 索引文件
access_log logs/b.losbyday.com.access.log main;
location / {
}
}
}
配置讲解
server{}:配置虚拟主机必须有这个段。
server_name:虚拟主机的域名,可以写多个域名,类似于别名,比如说你可以配置成
server_name b.losbyday.com c.losbyday.com d.losbyday.com,这样的话,访问任何一个域名,内容都是一样的
listen 80,监听ip和端口,这边仅仅只有端口,表示当前服务器所有ip的80端口,如果只想监听127.0.0.1的80,写法如下:
listen 127.0.0.1:80
root /www/b.losbyday.com:站点根目录,你网站文件存放的地方。注:站点目录和域名尽量一样,养成一个好习惯
access_log logs/b.losbyday.com-access.log main:访问日志
location /{} 默认URLnginx location配置(URL)
------------------------------------------------
nginx -t 检查nginx配置是否ok,命令如下:
如果看到以上两行ok和successful就表示配置问题,那接下来我们启动nginx
启动nginx (或者 nginx -s reload)
访问a.losbyday.com、b.losbyday.com(我这边DNS已经解析到了192.168.1.5,在测试的情况下,我们可以通过版本hosts即可),绑定host方法如下:
讲如下内容增加到C:\Windows\System32\Drivers\etc\hosts
192.168.1.5 a.losbyday.com
192.168.1.5 b.losbyday.com
192.168.1.5 a.losbyday.com
192.168.1.5 b.losbyday.com
以上是windows绑定hosts方式,如下是linux方式
echo "192.168.1.5 a.losbyday.com
192.168.1.5 b.losbyday.com" >> /etc/hosts
--------------------------------------
使用浏览器访问这两个站点。我这边使用curl来访问。
[root@dep5 conf]# curl http://a.losbyday.com
this is a.losbyday.com! //a站点内容
[root@dep5 conf]# curl http://b.losbyday.com
this is b.losbyday.com! //b站点内容
Nginx安装及配置虚拟主机的更多相关文章
- Nginx安装、配置虚拟主机、反向代理、负载均衡
1. nginx安装 下载nginx: 官方网站: http://nginx.org/ 使用的版本是1.8.0版本. Nginx提供的源码. 1.1. 要求的安装环境 1.需要安装gcc的环境.y ...
- 快速掌握Nginx(一) —— 安装Nginx和简单配置虚拟主机
Nginx安装和简单配置虚拟主机 1 Nginx简介 Nginx是近几年最火热的http.反向代理服务器,百度阿里等互联网公司也都在使用Nginx,它也可以用作邮件代理服务器.TCP/UDP代理服务器 ...
- Nginx模块及配置虚拟主机
1.Nginx的2组主要的模块 (1)core modules (必需,核心模块) 包括:Main.Events (2)Standard HTTP modules(虽然不是必需,但是缺省都会安装,不建 ...
- Nginx安装、默认虚拟主机、Nginx用户认证和域名重定向
6月7日任务 12.6 Nginx安装12.7 默认虚拟主机12.8 Nginx用户认证12.9 Nginx域名重定向 扩展nginx.conf 配置详解 http://www.ha97.com/51 ...
- Linux centosVMware Nginx安装、 默认虚拟主机、Nginx用户认证、Nginx域名重定向
一. Nginx安装 cd /usr/local/src wget http://nginx.org/download/nginx-1.12.1.tar.gz 版本在http://nginx.org/ ...
- nginx配置虚拟主机之不同端口和不同IP地址
配置nginx虚拟主机不同端口和不同ip地址,和上编nginx基于域名配置虚拟主机博文类似,请先参考. zxl.com域名不同端口,配置文件内容如下: 1 2 3 4 5 6 7 8 9 10 11 ...
- centos下Nginx安装和配置多个域名的虚拟主机
nginx安装步骤,源码编译安装(源码编译,可以自定制更多功能) openssl #user nobody; worker_processes ; #error_log logs/error.log; ...
- nginx 配置虚拟主机
文章转载自:http://www.ttlsa.com/html/1571.html 上篇说道我们的nginx是安装在/usr/local/nginx/ cd conf 我们现在把所有的虚拟主机放在一个 ...
- centos5.5用phpstudy一键安装配置虚拟主机后,yum配置代理服务器squid
最近因为工作需要,开发站点需要在lamp环境下跑网站,于是在win7上跑虚拟机装了一个centos5.5的linux 并用集成环境配置了一个lamp环境,这里用的是phpstudy的一键安装包,并配置 ...
随机推荐
- Response.Flush()
Response.Buffer=True就是在缓存网页 访问网站一般是程序直接输出网页结果,或从缓存中读取网页结果2种方式.两种方式在速度上是有差异的 设置 Response.Buffer = Tru ...
- JS事件——禁止事件冒泡和禁止默认事件
Event 对象 Event 对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置.鼠标按钮的状态. 事件通常与函数结合使用,函数不会在事件发生前被执行! 一.什么是事件冒泡 在一 ...
- UITabBarItem's appearance
1.我们知道,用tabBarController创建出来默认的tabBar似这个样子滴... -----------------我是图片分割线----------------------------- ...
- 基础-Ajax,json
ajax是异步交互,也就是说发送请求,到响应回来,页面只是局部刷新. Ajax 步骤: 获取XMLHttpRequest对象 绑定一个回调函数 open send 在回调函数中完成操作. json是一 ...
- SonarQube代码质量管理平台比较好的搭建和使用资料
http://www.voidcn.com/blog/lidujun1028/article/p-3831235.html Sonar (SonarQube)是一个开源平台,用于管理源代码的质量. ...
- hadoop工作流引擎之azkaban
Azkaban是twitter出的一个任务调度系统,操作比Oozie要简单很多而且非常直观,提供的功能比较简单.Azkaban以Flow为执行单元进行定时调度,Flow就是预定义好的由一个或多个可存在 ...
- Java学习之位运算符
位运算符:&,|,^,~,<<,>> & (按位与):只有对应的两个二进制位均为1时,结果才为1.例如,9&5,即00001001&000001 ...
- Django之路:QuerySet API,后台和表单
一.Django QuerySet API Django模型中我们学习了一些基本的创建和查询.这里专门讲以下数据库接口相关的接口(QuerySet API),当然你也可以选择暂时跳过这节.如果以后用到 ...
- c# 执行js的方法
http://www.cnblogs.com/wuhuacong/archive/2010/11/08/1871866.html 为了有效阻止恶意用户的攻击,一般登录都会采用验证码方式方式处理登录,类 ...
- 查看光纤卡wwn号【转载】
转自:查看光纤卡wwn号windows操作系统下_朝晖_新浪博客http://blog.sina.com.cn/s/blog_4ce992f40101dxyv.html 查看光纤卡wwn号window ...