在Nginx服务器中设置多个站点,lnmp环境配置说明

前面安装好了Nginx+PHP+FastCGI,且成功安装了Discuz论坛,本节中将简要的介绍下nginx配置文件中的大概含义和虚拟主机的配置,接下来还要好好研究nginx负载均衡和https方面的配置;
[root@server5 ~]# grep -v ‘^#’ /usr/local/nginx/conf/nginx.conf
|grep -v ‘#’ |uniq

1、在 /etc/nginx 下创建 vhosts 目录

nginx 配置文件

user www;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost 192.168.0.208;
location / {
root html;
index index.html index.htm index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
root /usr/local/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
/usr/local/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
}
}

php-fpm配置文件:

[root@xiaofeng tmp]# cat php-fpm.conf |grep -v ‘^;’|grep -v ‘^$’
[global]

[www]
user = nobody
group = nobody
listen = 127.0.0.1:9000

pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

php.ini配置文件要修改几个参数

date.timezone = PRC

max_execution_time = 300                 
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300

 

user www;             //以www用户身份启动nginx
worker_processes 1;   //nginx启动的时候产生多少个后台worker
process进程,通常设置成和cpu的数量相等

mkdir /etc/nginx/vhosts

1、php中fastcgi和php-fpm是什么东西

详见连接:

2,lnmp搭建
详见连接: 

3,php平滑重启|
详见连接: 

4,nginx优化

附录:下载php和nginx用file看下是什么类型的问件

events {
use   epoll;               //epoll是多路复用IO(I/O
Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能
worker_connections 1024;   //单个后台worker
process进程的最大并发链接数
}

2、在 /etc/nginx/vhosts/ 里创建一个名字为 example1.com.conf
的文件,把以下内容拷进去

http {
include       mime.types;   //设定mime类型,类型由mime.type文件定义
default_type application/octet-stream;

server {

sendfile        on; //sendfile 指令指定 nginx 是否调用 sendfile
函数(zero copy 方式)来输出文件,对于普通应用,必须设为
on,如果用来进行下载等应用磁盘IO重负载应用,可设置为
off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.

listen  80;

keepalive_timeout 65; //连接超时时间
gzip on;               //开启gzip压缩

server_name  example1.com www. example1.com;

server {
listen       80;             //侦听80端口
server_name 192.168.122.50; //定义使用192.168.122.50这个ip访问

access_log  /www/access_ example1.log  main;

location / {
root   html;      //定义服务器的默认网站根目录位置
index index.php index.html index.htm;   //定义首页索引文件的名称
}

location / {

error_page   500 502 503 504 /50x.html;   //定义错误提示页面
location = /50x.html {
root   html;
}

root   /www/example1.com;

location ~ \.php$ {     //定义php解析
root           html;
fastcgi_pass   127.0.0.1:9000;   //定义解析php程序使用的FastCGI接口
fastcgi_index index.php;        //定义PHP程序首页索引文件的名称
fastcgi_param SCRIPT_FILENAME
/usr/local/nginx/html$fastcgi_script_name;
include        fastcgi_params;
}

index  index.php index.html index.htm;

}

}

server {                               //定义第一台虚拟主机
listen       80;
server_name website1.yang.com;

error_page   500 502 503 504  /50x.html;

location / {
root   /www/website1;
index index.html index.htm;
}
}

location = /50x.html {

server {                    //定义第二台虚拟主机
listen       80;
server_name website2.yang.com;

root   /usr/share/nginx/html;

location / {
root   /www/website2;
index index.html index.htm;
}
location ~ \.php$ {
root           html;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/website2$fastcgi_script_name;
include        fastcgi_params;
}
}

}

}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

[root@server5 ~]# /usr/local/nginx/sbin/nginx -t   //测试语法
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@server5 ~]# service nginx restart

location ~ .php$ {

图片 1

fastcgi_pass   127.0.0.1:9000;

fastcgi_index  index.php;

fastcgi_param  SCRIPT_FILENAME  /www/example1.com/$fastcgi_script_name;

include        fastcgi_params;

}

location ~ /.ht {

deny  all;

}

}

3、在 /etc/nginx/vhosts/ 里创建一个名字为 example2.com.conf
的文件,把以下内容拷进去

server {

listen  80;

发表评论

电子邮件地址不会被公开。 必填项已用*标注