千家信息网

nginx网站服务于虚拟主机

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,Nginx网站服务于虚拟主机1:nginx的优点:稳定性高系统资源消耗低http并发量处理能力好可支持30000-50000个并发请求主要用于静态页面以线程为单位,一个进程对应多个用户,(线程很少占用
千家信息网最后更新 2025年01月20日nginx网站服务于虚拟主机

Nginx网站服务于虚拟主机

1nginx的优点:

稳定性高

系统资源消耗低

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

主要用于静态页面

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

2:与Apache的对比:

Apache主要用于动态页面

支持功能多

稳定性能高

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

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

4:安装及控制nginx

1.安装支持软件

[root@centos1 ~]# yum -y install pcre-devel zlib-devel

2.创建运行用户、组

[root@centos1 ~]# useradd -M -s /sbin/nologin nginx

3.编译安装nginx

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

[root@centos1 nginx-1.6.2]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module状态统计模块

[root@centos1 nginx-1.6.2]# make&&make install

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

[root@centos1 nginx-1.6.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin

2.启动和停止nginx

[root@centos1 nginx-1.6.2]# nginx

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

[root@centos1 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

[root@centos1 nginx-1.6.2]# killall -s HUP nginx

4.退出nginx

[root@centos1 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.修改完配置文件后,重新加载下配置文件

[root@centos1 nginx-1.6.2]# killall -s HUP nginx

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

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

[root@centos1 nginx-1.6.2]# mkdir -p /var/www/benet

[root@centos1 nginx-1.6.2]# echo "

www.benet.com

">/var/www/benet/index.html

[root@centos1 nginx-1.6.2]# mkdir -p /var/www/accp

2.[root@centos1 nginx-1.6.2]# echo "

www.accp.com

">/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.重新加载

[root@centos1 nginx-1.6.2]# killall -s QUIT nginx

[root@centos1 nginx-1.6.2]# nginx

4.测试

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

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

2.安装php解析环境

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

1)编译安装php

[root@centos1 ~]# yum -y install gd libxml2-devel libjpeg-devel libpng-devel

[root@centos1~]#cd /usr/src/php-5.3.28

[root@centos1 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

[root@centos1 php-5.3.28]#make &&make install

(2)安装后的调整

[root@centos1 php-5.3.28]# cp php.ini-development /usr/local/php5/php.ini

[root@centos1 php-5.3.28]# ln -s /usr/local/php5/bin/* /usr/local/bin

[root@centos1 php-5.3.28]# ln -s /usr/local/php5/sbin/* /usr/local/sbin

[root@centos1 php-5.3.28]#

3.配置nginx支持php环境

有两种让nginx支持php的方法

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

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

1)启用php-fpm进程

[root@centos1 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

[root@centos1 etc]# /usr/local/sbin/php-fpm

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

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

[root@centos1 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模块配置

}

}

}

[root@centos1 vod]# killall -s QUIT nginx

[root@centos1 vod]# nginx

3php页面访问测试

l [root@centos1 vod]# mysqladmin -u root -p password '123456'

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

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

vim /var/www/lxf/test.php

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

if ($link) echo "

恭喜你,数据库连接成功

";

mysql_close();

?>

验证:

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

1.下载并部署程序代码

[root@centos1 ~]# unzip SKYUC_3.4.2_for_php5.3.zip -d /usr/src

[root@centos1 ~]# cd /usr/src/SKYUC.v3.4.2.SOURCE/

[root@centos1 SKYUC.v3.4.2.SOURCE]# mv wwwroot/ /var/www/lxf/skyuc

[root@centos1 SKYUC.v3.4.2.SOURCE]# cd /var/www/vlxf/skyuc/

[root@centos1 skyuc]# chown -R php:php admincp/ data/ templates/ upload/

[root@centos1 skyuc]#

2.创建数据库

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

mysql> create database skyucdb;

mysql> grant all on skyucdb.* to runskyuc@localhost identified by 'sky@uc123';

验证:


0