nginx网站服务于虚拟主机

   Nginx网站服务于虚拟主机

1:nginx的优点:

稳定性高

系统资源消耗低

http并发量处理能力好可支持30000-50000个并发请求

主要用于静态页面

以线程为单位,一个进程对应多个用户,(线程很少占用系统资源)

2:与Apache的对比:

Apache主要用于动态页面

支持功能多

稳定性能高

Apache以进程为单位,一个用户对应一个进程(一对一)

3:nginx主要用于:电商,网站,社交,门户......

4:安装及控制nginx

1.安装支持软件

[[email protected] ~]# yum -y install pcre-devel zlib-devel

2.创建运行用户、组

[[email protected] ~]# useradd -M -s /sbin/nologin nginx

3.编译安装nginx

启用状态统计模块以支持状态统计,便于查看服务器的连接信息

[[email protected] nginx-1.6.2]# ./configure --prefix=/usr/local/nginx  --user=nginx  --group=nginx  --with-http_stub_status_module(状态统计模块)

[[email protected] nginx-1.6.2]# make&&make install

4.添加符号链接,以便通过nginx命令就可以调用nginx的主程序

[[email protected] nginx-1.6.2]# ln -s /usr/local/nginx/sbin/nginx  /usr/local/sbin

2.启动和停止nginx

[[email protected] nginx-1.6.2]# nginx

3.检查nginx的监听端口,或通过浏览器访问

[[email protected] nginx-1.6.2]# netstat -anpt

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN

3.重新加载nginx

[[email protected] nginx-1.6.2]# killall -s HUP nginx

4.退出nginx

[[email protected] nginx-1.6.2]# killall -s QUIT  nginx

三、了解nginx的配置文件nginx.conf

说明:nginx.conf文件包含三部分配置,分别是全局配置、I/O事件配置和HTTP配置

1.全局配置

#user  nobody;  //运行用户 默认为nobody

worker_processes  1; //工作的进程数量,可以根据cpu核心总数来指定工作进程数

#error_log  logs/error.log;//错误日志文件的位置

#pid        logs/nginx.pid; //PID文件的位置

2.I/O事件配置

events {

use epoll  //使用epoll模型

worker_connections  4096;每个进程处理4096个进程连接

}

nginx服务提供的连接数为工作的进程数x每个进程提供的连接数

3.HTTP配置,用于完成web站点的设置

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 {

listen       80;

server_name  localhost;

#charset koi8-r;

#access_log  logs/host.access.log  main;

location / {

root   html;

index  index.html index.htm;

}

location / status{   //访问位置为/status

stub_status on;//打开状态统计功能

access_log off;//关闭此位置的日志记录

}

#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;

}

}

4.修改完配置文件后,重新加载下配置文件

[[email protected] nginx-1.6.2]# killall -s HUP nginx

四、构建基于域名的虚拟web主机

1.准备网站目录以及测试文件

[[email protected] nginx-1.6.2]# mkdir -p /var/www/benet

[[email protected] nginx-1.6.2]# echo "<h1>www.benet.com</h1>">/var/www/benet/index.html

[[email protected] nginx-1.6.2]# mkdir -p /var/www/accp

2.[[email protected] nginx-1.6.2]# echo "<h1>www.accp.com</h1>">/var/www/accp/index.html

虚拟主机配置在server{}区域中,每个server{}区域代表一个web站点配置,指定各自网站名称、监听地址、网站根目录、访问日志等信息,然后重新加载配置

省略部分内容

{

server {

listen       80;

server_name  www.benet.com;

charset utf-8;

access_log  logs/benet.access.log  main;

location / {

root   /var/www/benet;

index  index.html index.htm;

}

location /status {

stub_status on;

access_log off;

}

error_page   500 502 503 504  /50x.html;

location = /50x.html {

root   html;

}

}

server {

listen       80;

server_name  www.accp.com;

charset utf-8;

access_log  logs/accp.access.log  main;

location / {

root   /var/www/accp;

index  index.html index.htm;

}

location /status {

stub_status on;

access_log offm;

}

error_page   500 502 503 504  /50x.html;

location = /50x.html {

root   html;

}

}

}

3.重新加载

[[email protected] nginx-1.6.2]# killall -s QUIT nginx

[[email protected] nginx-1.6.2]# nginx

4.测试

五、构建LNMP架构及应用部署

1.安装mysql数据库(略,直接启动mysql服务器)

2.安装php解析环境

说明:较新保本(如5.3)php已经自带FPM(fastCGI Process Manager FastCGI进程管理器)模块,用来对php解析实例进行管理、优化解析效率。需要启用--enable-fpm以启用此模块

(1)编译安装php

[[email protected] ~]# yum -y install gd libxml2-devel  libjpeg-devel libpng-devel

[[email protected]~]#cd /usr/src/php-5.3.28

[[email protected] php-5.3.28]# ./configure --prefix=/usr/local/php5 --with-gd --with-zlib --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --enable-mbstring --enable-fpm --with-jpeg-dir=/usr/lib

[[email protected] php-5.3.28]#make &&make install

(2)安装后的调整

[[email protected] php-5.3.28]# cp php.ini-development /usr/local/php5/php.ini

[[email protected] php-5.3.28]# ln -s /usr/local/php5/bin/* /usr/local/bin

[[email protected] php-5.3.28]# ln -s /usr/local/php5/sbin/* /usr/local/sbin

[[email protected] php-5.3.28]#

3.配置nginx支持php环境

有两种让nginx支持php的方法

l 充当中介,将访问php页面的web请求转交给其他的服务器(lamp)去处理

l 通过使用php的FPM模块来调用本机的php环境

(1)启用php-fpm进程

[[email protected] vod]# useradd -M -s /sbin/nologin php

①修改php-fpm.conf配置文件修改相关参数,然后启动php-fpm进程,php-fpm默认监听本机的9000端口

pid = run/php-fpm.pid   //确认pid文件的位置

user = php               //运行用户

group = php//运行组

pm.start_servers = 20//启动时开启的进程数

pm.min_spare_servers = 5//最小空闲进程数

pm.max_spare_servers = 35  //最大空闲进程数

pm.max_children = 50//最大子进程数

②启动php-fpm

[[email protected] etc]# /usr/local/sbin/php-fpm

(2)配置nginx:完全支持php解析

说明:无论使用哪一种解析方式都需要server中进行配置

[[email protected] Desktop]# vim /usr/local/nginx/conf/nginx.conf

..........

server {

listen       80;

server_name  www.lxf.com;

charset utf-8;

access_log  logs/vod.access.log  main;

location / {

root   /var/www/lxf;

index index.html index.php;

}

location ~ \.php$ {//访问.php页面的配置段

root   /var/www/lxf;//php页面的根目录

fastcgi_pass 127.0.0.1:9000;     //php-fpm监听地址

fastcgi_index index.php;//php首页名称

include fastcgi.conf;//fastcgi模块配置

}

}

}

[[email protected] vod]# killall -s QUIT nginx

[[email protected] vod]# nginx

3)php页面访问测试

l [[email protected] vod]# mysqladmin -u root -p password ‘123456‘

l #service mysqld start  //启动数据库

l 在/var/www/lxf下创建一个测试页面test.php

vim  /var/www/lxf/test.php

<?php

$link=mysql_connect(‘localhost‘,‘root‘,‘pwd123‘);

if ($link) echo "<h1>恭喜你,数据库连接成功</h1>";

mysql_close();

?>

验证:

六、LNMP平台的应用--部署天空网络电影系统

1.下载并部署程序代码

[[email protected] ~]# unzip SKYUC_3.4.2_for_php5.3.zip -d /usr/src

[[email protected] ~]# cd /usr/src/SKYUC.v3.4.2.SOURCE/

[[email protected] SKYUC.v3.4.2.SOURCE]# mv wwwroot/ /var/www/lxf/skyuc

[[email protected] SKYUC.v3.4.2.SOURCE]# cd /var/www/vlxf/skyuc/

[[email protected] skyuc]# chown -R php:php admincp/ data/ templates/ upload/

[[email protected] skyuc]#

2.创建数据库

为了降低web应用程序对数据库的风险,建议设置专用的数据库以及授权用户[[email protected] skyuc]# mysql -u root -p

mysql> create database skyucdb;

mysql> grant all on skyucdb.* to [email protected] identified by ‘[email protected]‘;

验证:

时间: 2024-11-19 00:06:53

nginx网站服务于虚拟主机的相关文章

Nginx 网站服务——虚拟主机配置

第1章 Nginx 网站服务 1.1 web网站服务介绍: 1.1.1 提供静态服务的软件 Apache:这是中小型Web服务的主流,Web服务器中的老大哥. Nginx:大型网站Web服务的主流,曾经Web服务器中的初生牛犊,现已长大. Nginx的分支Tengine(http://tengine.taobao.org/)目前也在飞速发展. Lighttpd:这是一个不温不火的优秀Web软件,社区不活跃,静态解析效率很高.在Nginx流行前,它是大并发静态业务的首选,国内百度贴吧.豆瓣等众多网

Nginx网站服务+LNMP架构及应用部署

第2章:Nginx网站服务 防伪码:撑起坚强! Nginx专为性能优化而开发,其最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力(单台物理服务器可支持30000-50000个并发请求).正因如此,大量提供社交网络.新闻资讯.电子商务及虚拟主机等服务的企业纷纷选择Nginx来提供Web服务. 一.安装及运行 1.搭建yum仓库,安装支持软件 2.创建运行用户.组(nginx默认以nobody身份运行,不安全,所以需要创建用户) 3.编译安装nginx和解包 为了方便管理

Nginx安装、默认虚拟主机、用户认证、nginx中PHP解析

12.6 Nginx安装 准备工作 安装包 [[email protected] ~]# cd /usr/local/src/ 下载安装包:[[email protected] src]# wget http://nginx.org/download/nginx-1.12.1.tar.gz 解压:[[email protected] src]# tar zxvf nginx-1.12.1.tar.gz 安装 环境配置 [[email protected] src]# cd nginx-1.12.

Centos 7部署Nginx网站服务

一.Nginx服务基础 Nginx专为性能优化而开发,其最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力(单台物理服务器可支持30000~50000个并发请求).正因为如此,大量提供社交网络.新闻资讯.电子商务及虚拟主机等服务的企业纷纷选择Nginx来提供Web服务. 1.Nginx服务的优势 Nginx是一个很牛的高性能Web和反向代理服务器,它具有有很多非常优越的特性: 高并发连接:官方测试能支撑5万并发连接,在实际生产环境中跑到2,~3W并发连: 内存消耗少:在

NGINX网站服务-LNMP平台及应用

实验需求: LNMP实现多个虚拟主机,部署wordpress和phpmyadmin,并为phpmyadmin提供https 实验环境: LNMP                 CentOS 7.2x86_64            IP:172.16.251.138 测试端              CentOS 6.7x86_64            IP:172.16.251.164 实验准备: 安装开发包组,支持软件,解决依赖关系 [[email protected] ~]# ipta

Nginx演练(1)配置虚拟主机

Nginx是一款比较流行Web服务器,和Apache,Lighttpd,IIS属于同类产品.对比而言,Nginx从性能和内存占用方面,都非常优秀,具体对比细节自行百度. 三大WEB服务器对比分析(apache ,lighttpd,nginx) 本文演练的主要内容是: 使用Nginx,实现基于IP的虚拟主机 使用Nginx,实现基于域名的虚拟主机 tomcat配置虚拟主机 1.前提 什么是虚拟主机? 虚拟主机使用是特殊的软硬件技术,把一台运行在Internet上的服务器主机分成一台台"虚拟&quo

nginx反向代理,虚拟主机

nginx反向代理,虚拟主机 一.配置虚拟主机1.基于端口配置虚拟主机1.1配置文件: [[email protected] conf.d]# vim vhost.conf server { listen 8080 ; root /usr/share/nginx/html; location / { } } server { listen 8081; root /usr/share/nginx/html; location / { } } 1.2验证:2.基于IP地址配置虚拟主机:2.1配置文件

[原]生产环境下的nginx.conf配置文件(多虚拟主机)

[原]生产环境下的nginx.conf配置文件(多虚拟主机) 2013-12-27阅读110 评论0 我的生产环境下的nginx.conf配置文件,做了虚拟主机设置的,大家可以根据需求更改,下载即可在自己的机器上使用了,本配置文件摘录自<构建高可用Linux服务器>(机械工业出版社),转载麻烦注明出处,谢谢,配置文件如下: user  www www;worker_processes 8;error_log  /data/logs/nginx_error.log  crit;pid      

httpd服务之虚拟主机、访问控制、https配置详解

前言 上文讲解了http协议及httpd的一些特性,是学习web服务需要掌握的一些基础知识,接下来让我们进一步了解httpd相关功能的配置,本文讲解的是虚拟主机,访问控制及https等功能的配置. httpd之虚拟主机 虚拟主机共分为三种模式:基于IP.基于端口.基于主机名(FQDN) 实验环境介绍 开始之前,先介绍一下httpd在CentOS6.6版本及文件: 版本:      httpd-2.2.15(CentOS7升级为2.4系列) 配置文件:         /etc/httpd/con