您的位置:首页 > 运维架构 > Nginx

怎样在apache与nginx服务器中配置数据库

2015-10-17 11:37 633 查看
apache下面直接配置数据库配置信息:

1)首先在apache下面的httpd.conf中的

# Secure (SSL/TLS) connections

Include conf/extra/httpd-ssl.conf

下面引入(数据库配置文件db-info.conf)

Include conf/extra/db-info.conf

2)配置数据库配置文件db-info.conf(每句后面没有“;”号)

其中setenv为apache下面的配置方法:

官方手册:

SETENV 指令

说明:     设置环境变量

语法:     SETENV  name value

背景:     服务器配置,虚拟主机,目录,。htaccess文件
b035

覆盖:     FileInfo的

状态:     基地

模块:     mod_env

这个模块允许将提供给CGI脚本和SSI页面的环境控制 。环境变量可以通过从shell中调用httpd 进程。另外,可能是环境变量设置或在配置过程中未设置。

3)测试  phpinfo()

可以看到 配置的系统变量,就代表配置成功

nginx下面的配置

1)首先在nginx服务器下面的nginx.conf的

加入include        db-info.conf;这句话 引入配置文件

2)配置db-info.conf这个文件(注意每句后面都有分号,apache下面没有这个)

fastcgi_param

语法:fastcgi_param parameter value

默认值:none

使用字段:http, server, location

指定一些传递到FastCGI服务器的参数。

可以使用字符串,变量,或者其组合,这里的设置不会继承到其他的字段,设置在当前字段会清除掉任何之前的定义。

下面是一个PHP需要使用的最少参数:

fastcgi_param SCRIPT_FILENAME  /home/www/scripts/php$fastcgi_script_name; fastcgi_param QUERY_STRING     $query_string;

PHP使用SCRIPT_FILENAME参数决定需要执行哪个脚本,QUERY_STRING包含请求中的某些参数。

如果要处理POST请求,则需要另外增加三个参数:

fastcgi_param REQUEST_METHOD   $request_method; fastcgi_param CONTENT_TYPE     $content_type; fastcgi_param CONTENT_LENGTH   $content_length;

如果PHP在编译时带有–enable-force-cgi-redirect,则必须传递值为200的REDIRECT_STATUS参数:

fastcgi_param REDIRECT_STATUS  200;

官方给的一个实例:

location / { fastcgi_pass localhost:9000; fastcgi_index index.php;   fastcgi_param SCRIPT_FILENAME  /home/www/scripts/php$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; }

3)测试配置成功 使用 phpinfo()
看到自己添加 变量 成功

    设置Apache环境变量

    指令

    设置当前环境变量为DEV

    SetEnv RUNTIME_ENVIROMENT DEV

    数据库帐号密码

    SetEnv MYSQL_USERNAME root

    SetEnv MYSQL_PASSWORD root

    配置文件格式

    view source

    print

    ?

    <VirtualHost *:80>

    ServerAdmin admin@admin.com

    DocumentRoot “/var/www/”

    ServerName localhost

    SetEnv RUNTIME_ENVIROMENT DEV

    SetEnv MYSQL_USERNAME root

    SetEnv MYSQL_PASSWORD root

    ErrorLog “logs/error.log”

    CustomLog “logs/access.log” common

    </VirtualHost>

    设置Nginx环境变量

    指令

    设置当前环境变量为DEV

    fastcgi_param RUNTIME_ENVIROMENT 'DEV'

    数据库帐号密码

    fastcgi_param MYSQL_USERNAME 'root'

    fastcgi_param MYSQL_PASSWORD 'root'

    配置文件格式

    在fastcgi_params文件中配置

    fastcgi_param RUNTIME_ENVIROMENT 'DEV';

    fastcgi_param MYSQL_USERNAME 'root';

    fastcgi_param MYSQL_PASSWORD 'root';

    在nginx.conf中配置

    server {

    listen   80;

    root /var/www;

    index index.php;

    server_name localhost;

    location /

    {

    index index.php;

    }

    location ~ .*\.(php|php5)?$ {

    fastcgi_pass 127.0.0.1:9000;

    fastcgi_index index.php;

    include fastcgi_params;

    }

    }

    为PHP脚本设置环境变量

    为当前用户临时设置

    临时设置只需要执行

    export KEY=VALUE

    为当前用户永久设置

    在~/.bashrc(不同系统各有不同)中写

    为所有用户(不包括root)设置

    创建文件/etc/profile.d/test.sh,写入

    KEY=VALUE

    为所有用户(包括root)设置

    在/etc/environment中写入

    KEY=VALUE

    注意,这个文件的生效时间是用户登录时,所以对于root来说,需要重启机器

    在Supervisor中设置//尚维网络

    有的时候PHP脚本是用Supervisor来控制的,所以记得设置supervisor配置中的environment项

    在PHP中调用服务器环境变量

    在PHP中有两个调用方式:

    $env = getenv(‘RUNTIME_ENVIROMENT’);

    还有超全局变量方式:

    $env = $_SERVER['RUNTIME_ENVIROMENT'];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  apache 数据库 服务器