您好,欢迎访问一九零五行业门户网

Apache/Nginx+MySql+PHP配置

1. 装完系统后开启 sshd, 关闭防火墙 (不然外链接是访问不了 apache) 关闭安全系统 selinux( 不然报403 访问页面错误 )
   重启后永久性生效
        chkconfig sshd on  ( 开启 sshd)
        chkconfig iptables off ( 关闭防火墙 )
        修改 /etc/selinux/config文件中设置 selinux=disabled  ( 关闭selinux)
   即时生效 , 重启后失效
        #service sshd start  ( 开启 sshd)
        #service iptables stop( 关闭防火墙 )
        #setenforce 0 ( 关闭 selinux)
2. 默认centos6 装了 mysql+apache 可用rpm -q mysql 或 httpd 查看是否已经装 默认已安装         
chkconfig设成开机启动 ( chkconfig --list 是列出当前 , 如果 list 里面没有mysqld 和 httpd则用 chkconfig --add mysqld 和httpd)
接着chkconfig httpd on 和 chkconfig mysqld on 这只是要重启后才永久生效   如果即时生效 用 service httpd start  service mysqld start 
3. 修改apache 的配置文件比如更改网站文档目录或不同域名指向不同的文件夹或开端口等等 默认配置文件在 /etc/httpd/conf 文件夹下的 httpd.conf
    1).修改网站文档目录在 httpd.conf 下修改  documentroot /var/www   这二要目录一样
    2).不同域名指向不同目录 在httpd.conf 查找 #inculde /etc/httpd/conf/httpd-vhosts.conf 去掉前面的 #号如果不存在刚加上这一句且创建 httpd-vhosts.conf 文件( 或者直接在 /etc/httpd/conf.d 目录下建一个 httpd-vhosts.conf因为 http.conf 已经#inculde /etc/httpd/conf.d/*.conf 了 )               
      # 确保 apache在监听 80 端口 即 httpd.conf文件里要有下面一句话 其实也可以放在httpd-vhosts.conf里
listen 80
修改   httpd-vhost.conf文件格式如下
      # 为虚拟主机在所有 ip 地址上监听
namevirtualhost *:80 80> serveradmin edu1211@163.com documentroot /var/www/ servername www.example.com # 你可以在这里添加其他指令 80> documentroot /var/www/a servername www.a.com # 你可以在这里添加其他指令 errorlog logs/a.log customlog logs/b.log common
上面可以在外部电脑更改 /etc/hosts 文件 如在 windows平台更改 c:\windows\system32\drivers\etc\hosts 文件 (假设 192.168.0.110 是我们部署的服务器 )
127.0.0.1 localhost192.168.0.110 www.example.com192.168.0.110 www.a.com192.168.0.110 www.b.com
则在外部电脑输入 www.example.com      则跳到 /var/www/目录
       则在外部电脑输入 www.a.com            则挑到 /var/www/a目录
       则在外部电脑输入 www.b.com            则挑到 /var/www/目录
       为什么输入 www.b.com 会挑到 /var/www/ 目录下 因为服务器在 httpd-vhosts.conf 找不到虚拟主机名刚默认挑到 80 端口的第一个虚拟目录下
   3). 为网站开不同端口 首先在httpd.conf或httpd-vhosts.conf(建议写在这里面)加上要监听的端口
        listen 8080 // 添加的要开的断口
      然后 httpd-vhost.conf添加格式跟 80 端口一样
      参考文档   http://blog.csdn.net/edisonlg/article/details/7217153
4. 安装 php 初始系统是没有安装的 yum install php 即可
php配置文件是 php.ini  可以用find / -name php.ini 一般在 /etc/php.ini这个位置
现在要apache 支持 (绑定 )php 脚本语言
  即修改apache 的配置文件 httpd.conf 在#addtype application/x-tar .tgz 下加上以下二行
addtype application/x-httpd-php .phpaddtype application/x-httpd-php-source .phpsdirectoryindex index.html index.html.var index.php//即加上访问目录时index.php
其实上面可以改 /etc/httpd/conf.d目录下的 php.conf 就可以了( 建议这样因为 /etc/httpd/conf/httpd.conf已经有 include conf.d/*.conf)
在php.conf 里面我们都可以看到 apache 绑定php 脚本语言的代码所以上面的 httpd-vhosts.conf 文件可以直接写在 /etc/httpd/conf.d目录下就可以了
  同时修改php 的配置文件 php.ini  打开mysql 扩展 即去掉 ;extension=mysql.so 的分号
   然后重启 apache 即可  service httpd restart
5. 安装 phpmyadmin  
  1) 到官网下载最新的 phpmyadmin包
  2) 解压包 tar zxvf phpmyadmin-2.113-all-languages.tar.gz
  3) mv phpmyadmin-2.113-all-languages /var/www/phpmyadmin
  4) phpmyadmin的配置文件在 /phpmyadmin/libraies/config.default.php 文件 (如果是以根目录下 config.ini.php 配安装例外 )
  安装完成 即可通过网页登录 但是默认 mysql 是空密码 而 phpmyadmin禁止空密码登录 则可通过命令行的方式更改 mysql 密码或改phpmyadmin 的配置文件让允许空密码登录
  打开配置文件找到
$cfg['servers'][$i]['nopassword'] =false
$cfg['servers'][$i]['allownopassword'] =false 
把这二行的 false都改成 true 即可
  $cfg['servers'][$i]['auth_type'] ='cookie';
是默认的, 如果更成
$cfg['servers'][$i]['auth_type']='config';
用config 模式时需要 user,password 参数,这时登录 phpmyadmin不需要输入用户名密码,安全性较低,适合多用户测试开发即
$cfg['servers'][$i]['user']='root';  
$cfg['servers'][$i]['password']=''; 就生效了 即以种默认身份登录
6. 安装 php扩展模块
linux下 php 扩展安装模块比如打开 phpmyadmin的话会提示   没有找到 php 扩展 mbstring,而您现在好像在使用多字节字符集。没有 mbstring 扩展的 phpmyadmin 不能正确分割字符串,可能产生意想不到的结果 .
  则在 php.ini 加上extension=mbstring.so 重启 apache(httpd)还是不行 那么运行find / -name mysql.so 找到存放模块的目录一般是 /usr/lib/php/modules/mysql.so 这个位置则找找 /usr/lib/php/modules/目录下有没有 mbstring.so
  很显示没有 那么得安装 yum install php-mbstring 然后再重启 apache(httpd)刚提示错误没有了
7. 安装 nginx+php(要源码安装 )
  1)安装 nginx
centos默认是安装了 apache 那么用yum remove httpd 然后再安装 ngnix 因为yum 源是不包含 ngnix
  官网有提供 yum安装说明 :
centos:
to add nginx yum repository, create a file named /etc/yum.repos.d/nginx.repo and paste one of the configurations below:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
其它系统参考 http://wiki.nginx.or
其它类似信息

推荐信息