1、准备工作:
配置yum源
安装开发工具、编译工具gcc gcc-c++ make
配置固定ip地址 关闭iptables selinux
netstat -anpult | grep :3306
netstat -anpult | grep :80
若端口占用kill
并service httpd stop ; chkconfig httpd off
service mysqld stop ; chkconfig mysqld off
mv /etc/my.cnf /etc/my.cnf.bak
2、源码安装nginx-1.2.0:
下载nginx-1.2.0
useradd -s /sbin/nologin -M www
进入nginx-1.2.0目录
./configure --prefix=/usr/local/nginx --pid-path=/usr/local/nginx/nginx.pid --user=www --group=www --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module
无错误后make && meke install
启动服务/usr/local/nginx/sbin/nginx
访问测试elinks --dump
看到 Welcome to nginx 表示nginx安装完成。
3、安装源码mysql:
useradd -s /sbin/nologin -M mysql
下载cmake-2.8.10.2.tar.gz
tar -zxf cmake-2.8.10.2.tar.gz
cd cmake-2.8.10.2
./bootstrap --prefix=/usr/local/cmake
make && makeinstall
下载mysql-5.5.13.tar.gz
tar -zxf mysql-5.5.13.tar.gz
cd mysql-5.5.13
/usr/local/cmake/bin/cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_USER=mysql -DEXTRA_CHARSETS=all -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1
无错误后make && make install
初始化授权库
cd /usr/local/mysql
./scripts/mysql --user=mysql
生成主配置文件
cp /mysql-5.5.13/support-files/my-medium.cnf /etc/my.cnf
#在[mysqld]下设置:datadir = /usr/local/mysql/data
echo "export PATH=/usr/local/mysql/bin/:$PATH" >> /etc/profile
mysqladmin -uroot password '123'
jobs
[1]+ Running /usr/local/mysql/bin/mysqld_safe --user=mysql &
kill -9 %1
cp /mysql-5.5.13/support-files/mysql.server /etc/init.d/mysqldd
chmod +x /etc/init.d/mysqldd
chkconfig --add mysqldd
chown -R mysql:mysql /usr/local/mysql/
4、安装PHP:
下载php-5.4.9.tar.gz libmcrypt-2.5.8.tar.gz mhash-0.9.9.9.tar.gz libiconv-1.13.tar.gz
tar -zxf php-5.4.9.tar.gz
tar -zxf mhash-0.9.9.9.tar.gz
tar -zxf libmcrypt-2.5.8.tar.gz
tar -zxf libiconv-1.13.tar.gz
./mhash-0.9.9.9/configure && make && make insetall
./libmcrypt-2.5.8/configure && make && make install
cd libmcrypt-2.5.8/libltdl
./configure --with-gmetad --enable-gexec --enable-ltdl-install
make && make install
./libiconv-1.13configure && make && make install
ldconfig -v
yum -y install libxml2-devel
yum -y install libcurl
yum -y install libcurl-devel
yum -y install libjpeg-devel
yum -y install libpng-devel
yum -y install freetype-devel
yum -y install openldap-devel
yum -y install php-ldap
cp -frp /usr/lib64/libldap* /usr/lib/
cd php-5.4.9
ln -sv /usr/local/lib/libmcrypt* /usr/lib/
ln -sv /usr/local/lib/libmhash* /usr/lib/
ln -sv /usr/local/lib/libiconv* /usr/lib/
cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/mysql/lib/
/usr/local/mysql/include/
/usr/local/lib
:wq
cp php-5.4.9/ext/phar/phar.php php-5.4.9/ext/phar/phar.phar
ldconfig -v
./configure --prefix=/usr/local/php5nginx --with-config-file-path=/usr/local/php5nginx/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap
make ZEND_EXTRA_LIBS='-liconv'
make install
cp php-5.4.9/php.ini-production /usr/local/php5nginx/etc/php.ini
nginx + fast-cgi 使nginx能够解析php页面
cp /usr/local/php6nginx/php-fpm.conf.default /usr/local/php6nginx/php-fpm.conf
cd /usr/local/php6nginx/
grep -v "^;" php-fpm.conf | grep -v "^$"
cp php-5.4.9/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
chmod +x /etc/rc.d/init.d/php-fpm
chkconfig --add php-fpm
vim /usr/local/nginx/conf/nginx.conf
65-71行取消注释
echo "fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;" >> /usr/local/nginx/conf/fastcgi_params
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx
<?php
#echo "hello world!!!";
phpinfo();
?>" > /usr/local/nginx/html/test.php
测试nginx能否解析php页面。
授权php对数据库的权限
/usr/local/mysql/bin/mysql -uroot -p123
mysql>grant all on bbsdb.* to webuser@"localhost" identified by "123";
mysql>create database bbsdb;
mysql>quit
echo “
<?php
$linkdb=mysql_connect("localhost","webuser","123");
if($linkdb){
echo "linkdb ok";
}else{
echo "linkdb not ok";
}
?>” > /usr/local/nginx/html/linkdb.php
访问
显示linkdb ok 完成。