Home> php教程> php手册> body text

Apache/Nginx+MySql+PHP配置

WBOY
Release: 2016-07-11 20:00:43
Original
1085 people have browsed it
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
Copy after login
修改 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 
Copy after login

上面可以在外部电脑更改 /etc/hosts 文件 如在 windows 平台更改 C:\Windows\System32\drivers\etc\hosts 文件 ( 假设 192.168.0.110 是我们部署的服务器 )
127.0.0.1 localhost 192.168.0.110 www.example.com 192.168.0.110 www.a.com 192.168.0.110 www.b.com
Copy after login

则在外部电脑输入 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 .php AddType application/x-httpd-php-source .phps DirectoryIndex index.html index.html.var index.php//即加上访问目录时index.php
Copy after login
其实上面可以改 /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
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template
    About us Disclaimer Sitemap
    php.cn:Public welfare online PHP training,Help PHP learners grow quickly!