站点配置文件
/www/wdlinux/nginx/conf/vhost
/www/wdlinux/apache/conf/vhost
数据库配置文件/www/wdlinux/etc/my.cnf
数据库数据文件目录 /www/wdlinux/mysql/var
nginx模式默认是不支持pathinfo模式的,类似index.php/index形式的url会被提示找不到页面。下面的通过正则找出实际文件路径和pathinfo部分的方法,让nginx支持pathinfo。
假如要让 www.linuxeye.com站点支持pathinfo,具体配置如下:
server {listen 80
server_name www.linuxeye.com
access_log logs/www.linuxeye.com.log combined
root /home/wwwroot/www.linuxeye.com
error_page 404 /404.html
index index.html index.htm index.php
location / {
index index.php
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last
break
}
}
location ~ \.php {
fastcgi_pass 127.0.0.1:9000
fastcgi_index index.php
include fcgi_pathinfo.conf
set $real_script_name $fastcgi_script_name
if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
set $real_script_name $1
set $path_info $2
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name
fastcgi_param SCRIPT_NAME $real_script_name
fastcgi_param PATH_INFO $path_info
}
}
要点:
1.~ \.php 后面不能有$ 以便能匹配所有 *.php/* 形式的url
2. 通过设置更改 SCRIPT_FILENAME
cat fcgi_pathinfo.conf
#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name
#fastcgi_param SCRIPT_NAME $fastcgi_script_name#这两行是需要注释掉的,请注意
fastcgi_param QUERY_STRING $query_string
fastcgi_param REQUEST_METHOD $request_method
fastcgi_param CONTENT_TYPE $content_type
fastcgi_param CONTENT_LENGTH $content_length
fastcgi_param REQUEST_URI $request_uri
fastcgi_param DOCUMENT_URI $document_uri
fastcgi_param DOCUMENT_ROOT $document_root
fastcgi_param SERVER_PROTOCOL $server_protocol
fastcgi_param HTTPS $https if_not_empty
fastcgi_param GATEWAY_INTERFACE CGI/1.1
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version
fastcgi_param REMOTE_ADDR $remote_addr
fastcgi_param REMOTE_PORT $remote_port
fastcgi_param SERVER_ADDR $server_addr
fastcgi_param SERVER_PORT $server_port
fastcgi_param SERVER_NAME $server_name
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200
Apache 配置
1、下载apache
2、 ./configure
--prefix=/usr/local/apache2.2.32
--enable-deflate
--enable-headers
--enable-expires
--enable-modules=most
--enable-so
--with-mpm=worker
--enable-rewrite
3、 make
4、make install
配置文件
一、/usr/local/apache/conf/httpd.conf 内容解析
Server root 服务的根目录
Listen 80 监听的端口
Server admin you@example.com管理员邮箱
Servername www.yeyiboy.com 网站名
Documentroot /usr/local/apache/htdocs 站点目录,需改成自己的站点目录
表示根目录拒绝其他人访问
Options FollowSymLinks
AllowOverride None 禁止相关功能
Order deny,allow 不让任何人访问根目录
Deny from all 不让任何人访问根目录
新增加站点目录,必须增加下面六行,否则网站打不开
把站点目录/usr/local/apache2.2.32/htdocs改成自己的站点目录
Options Indexes FollowSymLinks 如去掉Indexes,站点目录如果没有首页也不会暴露站点目录。为了安全,通常配置会去掉。
AllowOverride None
Order allow,deny
Allow from all
DirectoryIndex index.html 指定访问首页,如果有多个首页,都列出,空格隔开
ErrorLog "logs/error_log" 错误日志
去掉include conf/extra/ httpd-mpm.conf和include conf/extra/ httpd-vhosts.conf 前面的#号
二、/usr/local/apache/conf/extra 扩展的配置文件
1、 httpd-mpm.conf
工作模式为prefork模式。默认为该模式。#Apache共两种模式,prefork和worker
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
工作模式为worker模式,编译时已指定为worker模式。
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
2、 httpd-vhosts.conf 配置网站大部分在这里配置
NameVirtualHost *:80 基于域名的服务,一个主机想跑多个网站在这里配置
3、httpd-default.conf 了解
Timeout 300 超时
KeepAlive On 连接保持
MaxKeepAliveRequests 100 最大接受多少个连接
KeepAliveTimeout 5 等待下一个连接时间
AccessFileName .htaccess 设置伪静态
ServerTokens Full 隐藏apache版本
ServerSignature On 隐藏apache版本
FQDN 完整的域名解析
错误报告:httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
Syntax OK
解决办法: vim /usr/local/apache/conf/httpd.conf
把 servername www.example.com:80 增加成servername 127.0.0.1:80
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)