Apache+Nginx+MySql+PHP配置介绍,有需要的朋友可参考一下
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 ServerAdmin edu1211@163.com DocumentRoot /var/www/ ServerName www.example.com # 你可以在这里添加其他指令 DocumentRoot /var/www/a ServerName www.a.com # 你可以在这里添加其他指令 Errorlog "logs/a.log" CustomLog "logs/b.log" common |
上面可以在外部电脑更改 /etc/hosts 文件 如在 windows平台更改 C:WindowsSystem32driversetchosts 文件 (假设 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
则在外部电脑输入 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其实上面可以改 /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.org/Install
当然也有源码安装但是需要你安装依赖包 ( 有点麻烦)
Nginx的配置文件在 /etc/nginx/nginx.conf
但是文件的最后是包含其它文件的 Include /etc/nginx/conf.d/*.conf;
然后 #service nginx start #chkconfig nginx on
2)安装 PHP
但是安装PHP 的时候如果直接 yum 安装php 是不行的
因为默认情况下 Nginx和 PHP 他俩之间是一点感觉没有的,在之前,很多朋友都搭建过 Apache+PHP ,Apache+PHP 编译后生成的是模块文件,而 Nginx+PHP 需要PHP 生成可执行文件才可以,所以要利用 fastcgi 技术来实现 N ginx与 PHP 的整合,这个只要我们安装是启用 FastCGI 即可。此次我们安装 PHP不仅使用了 FastCGI ,而且还使用了 PHP-FPM这么一个东东, PHP-FPM 说白了是一个管理 FastCGI的一个管理器,它作为 PHP 的插件纯在,在安装 PHP要想使用 PHP-FPM 时就需要把 PHP-FPM以补丁的形式安装到 PHP 中,而且PHP 要与 PHP-FPM版本一致,这是必须的,切记!
所以 PHP得源码安装的时候把 PHP-FRM 选项带上即解压 PHP 源码包后
先安装gcc 套件这是个编译器 yum install gcc yum install gcc-c++ (libmcrypt要用到 )
./configure --prefix=/usr/local/php --with-gd --enable-mbstring --with-mysql --with-mysqli --with-jpeg-dir --with-zlib --with-openssl --with-mcrypt --enable-fastcgi --enable-fpm
此过程会出现以下错误
a) error: xml2-config not found. Please check your libxml2 installation.
因为php5 是需要 libxml2支持 rpm -qa|grep libxml2
只需要安装 libxml2-dev , yum install libxml2-devel
b) 同样出会出现 openssl 错误那么yum install openssl-devel
c) configure: error: jpeglib.h not found. 解决方法是: yum install libjpeg-devel
d) configure: error: png.h not found 解决方法是: yum install libpng-devel
e) configure: error: mcrypt.h not found. Please reinstall libmcrypt.
解决方法yum 码安装不了 所以得百度搜 libmcrypt源码
下载页面 http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/ ( 这个跟php 版本可以不一至 )
libmcrypt./configure ( 这里不能 --prefix指定安装路径不然下面安装还是会出错 ) 可能会报check ....no 忽视这些 checking for g77... no 什么fastcgi 警告 但是没出现错误比如 configure: error: No F77 compiler found 就可以了所以
接着#make #make install
跳到php 目录下继续 ./configure --prefix=/usr/local/php --with-gd --enable-mbstring --with-mysql --with-mysqli --with-jpeg-dir --with-zlib --with-openssl --with-mcrypt --enable-fastcgi --enable-fpm
安装php 过程会遇到的报错可以参考 http://www.cnblogs.com/1110111abc/articles/2528102.html
接着
#make
#make install
#cp php.ini-production /usr/local/php/etc/php.ini
#mv /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf //不然下面启动php-fpm会报错找不到php-fpm.conf文件
下面我们就要启动 PHP-FPM
#/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini //如果不加上-c参数指定他的php.ini参数(必须不然以后没法修改他的php.ini文件) (lsof -i:9000 可以查看9000端口占用详细情况) 网上说后面加上start是不行的(可能以前版本要吧)
vim /etc/rc.local
在这个文件的最后加入如下语句 :
/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini 这里你所要启动的服务一定要写成是绝对路径的形式 !! 不然的话, 这个服务是启动不起来的 !!
最后一步关联 Nginx与 PHP
#vim /etc/nginx/conf.d/default.conf
#location ~ .php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
# include fastcgi_params;
#}
改成
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
} 提示:Nginx 自己知道咋找 PHP 了还不行,还需要 PHP知道咋找 Nginx ,这点我们不需要担心, PHP-FPM 已经在配置文件中定义了从哪接受 PHP 请求,我们可以打开配置文件看一下 (Apache 却不同 只要 Apache绑定了 PHP 就行)
#vi /usr/local/php/etc/php-fpm.conf
如果要把9000 端口改成其它的端口那么二个文件的端口要改成一至
最后重启Nginx
#service nginx restart建一个测试页面加上 vim /usr/share/nginx/html/a.php
phpinfo();
?>
执行phpinfo();date 时区不正确 解决方法vim /usr/local/php/etc/php.ini 设置为 date.timezone = Asia/Shanghai
大功告成 参考 http://wenku.baidu.com/view/570b78b765ce050876321377.html
如果要在Nginx 开端口什么的跟 Apache 上一样
代码如下 | 复制代码 |
server { |
复制一下server 然后修改一下就可以了

Innodbbufferpoolは、データをキャッシュしてページをインデックス作成することにより、ディスクI/Oを削減し、データベースのパフォーマンスを改善します。その作業原則には次のものが含まれます。1。データ読み取り:Bufferpoolのデータを読む。 2。データの書き込み:データを変更した後、bufferpoolに書き込み、定期的にディスクに更新します。 3.キャッシュ管理:LRUアルゴリズムを使用して、キャッシュページを管理します。 4.読みメカニズム:隣接するデータページを事前にロードします。 BufferPoolのサイジングと複数のインスタンスを使用することにより、データベースのパフォーマンスを最適化できます。

他のプログラミング言語と比較して、MySQLは主にデータの保存と管理に使用されますが、Python、Java、Cなどの他の言語は論理処理とアプリケーション開発に使用されます。 MySQLは、データ管理のニーズに適した高性能、スケーラビリティ、およびクロスプラットフォームサポートで知られていますが、他の言語は、データ分析、エンタープライズアプリケーション、システムプログラミングなどのそれぞれの分野で利点があります。

MySQLは、データストレージ、管理、分析に適した強力なオープンソースデータベース管理システムであるため、学習する価値があります。 1)MySQLは、SQLを使用してデータを操作するリレーショナルデータベースであり、構造化されたデータ管理に適しています。 2)SQL言語はMySQLと対話するための鍵であり、CRUD操作をサポートします。 3)MySQLの作業原則には、クライアント/サーバーアーキテクチャ、ストレージエンジン、クエリオプティマイザーが含まれます。 4)基本的な使用には、データベースとテーブルの作成が含まれ、高度な使用にはJoinを使用してテーブルの参加が含まれます。 5)一般的なエラーには、構文エラーと許可の問題が含まれ、デバッグスキルには、構文のチェックと説明コマンドの使用が含まれます。 6)パフォーマンスの最適化には、インデックスの使用、SQLステートメントの最適化、およびデータベースの定期的なメンテナンスが含まれます。

MySQLは、初心者がデータベーススキルを学ぶのに適しています。 1.MySQLサーバーとクライアントツールをインストールします。 2。selectなどの基本的なSQLクエリを理解します。 3。マスターデータ操作:テーブルを作成し、データを挿入、更新、削除します。 4.高度なスキルを学ぶ:サブクエリとウィンドウの関数。 5。デバッグと最適化:構文を確認し、インデックスを使用し、選択*を避け、制限を使用します。

MySQLは、テーブル構造とSQLクエリを介して構造化されたデータを効率的に管理し、外部キーを介してテーブル間関係を実装します。 1.テーブルを作成するときにデータ形式と入力を定義します。 2。外部キーを使用して、テーブル間の関係を確立します。 3。インデックス作成とクエリの最適化により、パフォーマンスを改善します。 4.データベースを定期的にバックアップおよび監視して、データのセキュリティとパフォーマンスの最適化を確保します。

MySQLは、Web開発で広く使用されているオープンソースリレーショナルデータベース管理システムです。その重要な機能には、次のものが含まれます。1。さまざまなシナリオに適したInnodbやMyisamなどの複数のストレージエンジンをサポートします。 2。ロードバランスとデータバックアップを容易にするために、マスタースレーブレプリケーション機能を提供します。 3.クエリの最適化とインデックスの使用により、クエリ効率を改善します。

SQLは、MySQLデータベースと対話して、データの追加、削除、変更、検査、データベース設計を実現するために使用されます。 1)SQLは、ステートメントの選択、挿入、更新、削除を介してデータ操作を実行します。 2)データベースの設計と管理に作成、変更、ドロップステートメントを使用します。 3)複雑なクエリとデータ分析は、ビジネス上の意思決定効率を改善するためにSQLを通じて実装されます。

MySQLの基本操作には、データベース、テーブルの作成、およびSQLを使用してデータのCRUD操作を実行することが含まれます。 1.データベースの作成:createdatabasemy_first_db; 2。テーブルの作成:createTableBooks(idintauto_incrementprimarykey、titlevarchary(100)notnull、authorvarchar(100)notnull、published_yearint); 3.データの挿入:InsertIntoBooks(タイトル、著者、公開_year)VA


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 中国語版
中国語版、とても使いやすい

WebStorm Mac版
便利なJavaScript開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。
