MYSQL安装
Mysql本版mysql-5.5.19(5.5以上用cmake编译)下载地址http://pan.baidu.com/s/1eQINM62
安装cmake
[root@localhost ~]# tar zxvf cmake-3.0.2.tar.gz
[root@localhost ~]# cd cmake-3.0.2
[root@localhost cmake-3.0.2]# gmake && make install
安装mysql
[root@localhost ~]# tar zxvf mysql-5.5.19.tar.gz
[root@localhost ~]# cd mysql-5.5.19
[root@localhost mysql-5.5.19]#cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #mysql安装目录路径
-DMYSQL_DATADIR=/usr/local/mysql/data \ #mysql数据保存路径
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ #系统socket文件设置
-DWITH_INNODBBASE_STORAGE_ENGINE=1 \ #存储引擎设置
-DENABLE_LOCAL_INFILE=1 \ #默认关闭,这里开启
-DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci \ #编码设置
-DMYSQL_USER=mysql -DWITH_DEBUG=0 -DWITH_EMBEDED_SERVER=0
[root@localhost mysql-5.5.19]# make && make install
mysql配置文件
[root@localhost mysql-5.5.19]#cp support-files/my-innodb-heavy-4G.cnf /etc/my.cnf
启动程序
[root@localhost mysql-5.5.19]#cp support-files/mysql.server /etc/init.d/mysqlsource
[root@localhost mysql-5.5.19]#chmod 755 /etc/init.d/mysqlsource
[root@localhost mysql-5.5.19]#chown mysql.mysql /usr/local/mysql/ -R
初始化mysql,注意 路径mysql目录和data目录后面不要加 "/"
[root@localhost mysql-5.5.19]#sh scripts/mysql_install_db \
--user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
启动mysql
[root@localhost ~]# /etc/init.d/mysqlsource start
或
[root@localhost ~]# service mysqlsource start
Nginx安装
1.安装Nginx所需的pcre-devel库
#tar jxvf pcre-4.2.tar.bz2
#cd pcre-4.2
#./configure &&make &&make install
2.安装Nginx
#tar zxvf nginx-1.4.7.tar.gz
#cd nginx-1.4.7
#./configure --with-http_stub_status_module --prefix=/opt/nginx
#make && make install
3.启动Nginx服务
#/opt/nginx/sbin/nginx
4.配置反向代理负载均衡
在nginx服务器 (192.168.8.64)
#vim /opt/nginx/conf/nginx.conf
使用upstream自定义负载均衡名字 "myserver",添加虚拟主机
设置server 指定端口和nginx本机IP
设置location,匹配网页位置和规则
其中nginx服务器的 /opt/nginx/conf/proxy.conf(默认无此文件,创建并填写以下内容)
重启nginx服务
PHP与PHP-FPM的安装
下载安装包
从官网下载php源码包,这里下载的是php-5.2.17.tar.bz2,
从下载对应的PHP-FPM源码包,这里下载的是php-5.2.17-fpm-0.5.14.diff.gz
2.开始编译安装PHP和PHP-FPM
[root@localhost ~]# tar jxf php-5.2.17.tar.bz2
[root@localhost ~]# gzip -cd php-5.2.17-fpm-0.5.14.diff.gz |patch -d php-5.2.17 -p1
[root@localhost ~]# cd php-5.2.17
[root@localhost php-5.2.17]# ./configure --prefix=/usr/local/php --enable-fastcgi --enable-fpm
[root@localhost php-5.2.17]# make &&make install
[root@localhost php-5.2.17]# cp php.ini-dist /usr/local/php/lib/php.ini
3.配置PHP-FPM的默认配置文件
[root@localhost php-5.2.17]# vim /usr/local/php/etc/php-fpm.conf
Unix user of processes
<value name="user">nobody</value> Unix group of processes <value name="group">nobody</value> Process manager settings大概62行,去掉这两行的注释
4.启动FastCGI进程
[root@localhost php-5.2.17]# /usr/local/php/bin/php-cgi --fpm
或
[root@localhost php-5.2.17]# /usr/local/php/sbin/php-fpm start
查看端口和进程是否启动
[root@localhost php-5.2.17]# netstat -antl| grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
[root@localhost php-5.2.17]# ps -ef | grep php-cgi
root 6922 1 0 16:44 ? 00:00:00 /usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/php-fpm.conf
nobody 6923 6922 0 16:44 ? 00:00:00 /usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/php-fpm.confnobody 6924 6922 0 16:44 ? 00:00:00 /usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/php-fpm.confnobody 6925 6922 0 16:44 ? 00:00:00 /usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/php-fpm.confnobody 6926 6922 0 16:44 ? 00:00:00 /usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/php-fpm.confnobody 6927 6922 0 16:44 ? 00:00:00 /usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/php-fpm.con5.配置Nginx支持PHP
[root@localhost php-5.2.17]# vim /usr/local/nginx/conf/nginx.conf
#user nobody;
worker_processes 1;#error_log logs/error.log;
#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;
events { worker_connections 1024;} http { include mime.types; default_type application/octet-stream;#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"';#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;#keepalive_timeout 0;
keepalive_timeout 65;#gzip on;
server {
listen 80; server_name 192.168.8.64;#charset koi8-r;
#access_log logs/host.access.log main;
location / {
# root html; index index.html index.php;}
location ~ \.php$ {
root /usr/local/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name; include fastcgi_params; } #error_page 404 /404.html;# redirect server error pages to the static page /50x.html
# error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }重新启动Nginx进程
[root@localhost php-5.2.17]# ps -ef | grep nginx
root 6946 1 0 16:49 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody 6947 6946 0 16:49 ? 00:00:00 nginx: worker process[root@localhost php-5.2.17]# kill 6946
[root@localhost php-5.2.17]# /usr/local/nginx/sbin/nginx
到此为止,Nginx+PHP已配置完成
6.测试Nginx对PHP的解析功能
在/usr/local/nginx/html目录下创建一个phpinfo.php文件,内容如下:
<?php phpinfo(); ?>
在浏览器中访问 ,如果能正常解析,会出现PHP安装配置以及功能列表统计信