Centos 搭建 PHP Nginx Mysql
准备工作
//建立开源程序包文件夹
mkdir software
cd software
//开源程序包下载
wget
http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz //原来5.5的源不知道怎么就get不了
wget http://www.php.net/get/php-5.4.10.tar.gz/from/this/mirror wget http://nginx.org/download/nginx-1.5.3.tar.gz
#PHP库文件 wget http://ncu.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz wget http://ncu.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz wget http://ncu.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
#Nginx(pcre) wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.13.tar.gz
//安装依赖库和开发环境
#依赖库和开发工具 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers #Nginx yum -y install pcre-devel zlib-devel #Php yum -y install gd-devel libjpeg-devel libpng-devel freetype-devel libxml2-devel curl-devel freetype-devel #Mysql yum -y install bison gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libtool-ltdl-devel* mysql-devel
//添加用户组
groupadd mysql
useradd -r -g mysql -d /data/www mysql
useradd www -d /data/www -g www-data www
//创建目录
mkdir /usr/local/webserver mkdir /usr/local/webserver/php mkdir /usr/local/webserver/mysql mkdir /usr/local/webserver/nginx mkdir /data/www mkdir /data/mysql
MYSQL
//安装Mysql
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql -DMYSQL_DATADIR=/usr/local/webserver/mysql/mysqldata -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock
make && make install
//编辑my.cnf
vi /etc/my.cnf
//my.cnf
/*my.cnf*/ [client] #password = your_password port = 3306 socket = /tmp/mysql.sock [mysqld] port = 3306 socket = /tmp/mysql.sock basedir = /usr/local/webserver/mysql datadir = /data/mysql log-error = /usr/log/mysql_error.log pid-file = /data/mysql/mysql.pid skip-external-locking key_buffer_size = 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M log-bin=mysql-bin binlog_format=mixed server-id = 1 character_set_server=utf8 character-set-server = utf8 collation-server = utf8_general_ci [mysqldump] quick max_allowed_packet = 16M [mysql] no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates [myisamchk] key_buffer_size = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout #/*end*/
//设置权限
chmod +x /data/mysql
chown -R mysql.mysql /data/mysql
//安装默认数据表( 可以只用--user )
/usr/local/webserver/mysql/scripts/mysql_install_db -–basedir=/usr/local/webserver/mysql –-datadir=/data/mysql –-user=mysql
//更改密码
/usr/local/webserver/mysql/bin/mysqladmin -u root password 123456 #开启mysql /usr/local/webserver/mysql/support-files/mysql.server #设置开机启动 vi /etc/rc.d/rc.local #加入 /usr/local/webserver/mysql/support-files/mysql.server start
PHP
//安装php依赖库和开发工具
tar -zxvf libiconv-1.14.tar.gz && cd libiconv-1.14/ ./configure --prefix=/usr/local make && make install && cd ../ tar -zxvf libmcrypt-2.5.8.tar.gz && cd libmcrypt-2.5.8/ ./configure && make && make install /sbin/ldconfig && cd libltdl/ && ./configure --enable-ltdl-install make && make install && cd ../ tar -zxvf mhash-0.9.9.9.tar.gz && cd mhash-0.9.9.9/ && ./configure make && make install && cd ../ #4(如果 64 位系统 那么 /usr/lib64/*)
ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4 ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8 ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2 ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1 ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config tar -zxvf mcrypt-2.6.8.tar.gz &&cd mcrypt-2.6.8/ /sbin/ldconfig ./configure make && make install && cd ../
//编译php
cd ../ tar zxvf mirror cd php-5.4.10 ./configure --prefix=/usr/local/webserver/php \ --with-mysql=/usr/local/webserver/mysql \ --with-mysqli=/usr/local/webserver/mysql/bin/mysql_config \ --with-config-file-path=/usr/local/webserver/php/etc \ --with-jpeg-dir --with-png-dir --with-zlib \ --with-mhash --enable-sockets --enable-ftp \ --with-libxml-dir --enable-xml --disable-rpath \ --enable-safe-mode --enable-bcmath \ --enable-shmop --enable-sysvsem \ --enable-inline-optimization --with-curl \ --with-curlwrappers \ --enable-mbregex \ --enable-mbstring --with-mcrypt --with-gd \ --enable-gd-native-ttf --with-ttf --with-openssl --with-mhash \ --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl \ --enable-fpm \ --with-xmlrpc --enable-zip --enable-soap \ --without-pear \ --with-freetype-dir \ make ZEND_EXTRA_LIBS='-liconv' #注意这里容易出现 make: *** [ext/phar/phar.php] 错误 127 #出现mysql client解决方法 ln -s /usr/local/mysql/lib/libmysqlclient.so /usr/lib/ ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
#或者chmod: 无法访问 “ext/phar/phar.phar”: 没有那个文件或目录 #make: [ext/phar/phar.phar] 错误 1 (忽略) #解决方法在编译的时候加--without-pear参数 #或者把ext/phar/phar.php 改为 ext/phar/phar.phar #如果还不行,make的时候不添加 ZEND_EXTRA_LIBS='-liconv' 参数 make install #选择PHP.ini配置文件
cp php.ini-production /usr/local/webserver/php/etc/php.ini
//更改PHP-FPM
#添加WWW用户 /usr/sbin/groupadd www && /usr/sbin/useradd -g www www mkdir -p /data/log&& chmod +w /var/data && chown -R www:www /data/log cp /usr/local/webserver/php/etc/php-fpm.conf.default /usr/local/webserver/php/etc/php-fpm.conf vi /usr/local/webserver/php/etc/php-fpm.conf #去掉/更改 配置文件中的; pm.max_children = 64 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 1024 error_log=/data/log/php-fpm.log user = www group = www #检查语法是否正确 /usr/local/webserver/php/sbin/php-fpm -t #出现NOTICE: configuration file /usr/local/webserver/php/etc/php-fpm.conf test is successful 测试成功 /usr/local/webserver/php/sbin/php-fpm #设置开机启动 vi /etc/rc.d/rc.local #在行末加入 /usr/local/webserver/php/sbin/php-fpm #返回安装包目录 cd ../
nginx
//安装Nginx
#安装pcre库 tar -zxvf pcre-8.13.tar.gz && cd pcre-8.13/ && ./configure make && make install && cd ../
//编译nginx
cd ../ tar zxvf nginx-1.5.3.tar.gz cd nginx-1.5.3 ./configure --user=www --group=www-data \
--prefix=/usr/local/webserver/nginx \
--with-http_stub_status_module \
--with-http_ssl_module \ --with-http_ssl_module \
--with-pcre \ --with-http_stub_status_module \
make && sudo make install
//nginx.conf
vi /usr/local/webserver/nginx/conf/nginx.conf /*nginx.conf*/ worker_processes 8; error_log /data/logs/error.log; pid logs/nginx.pid; worker_rlimit_nofile 65535; events { use epoll; worker_connections 65535; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; gzip on; server { listen 80; server_name localhost; access_log /data/log/host.access.log main; error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /home/www; } location / { root /home/www; index index.html index.htm index.php; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ \.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } } } /*nginx.conf */ //启动nginx /usr/local/webserver/nginx/sbin/nginx //启动 /usr/local/webserver/nginx/sbin/nginx -t //检查conf /usr/local/webserver/nginx/sbin/nginx -s reload //重启
#设置开机启动 vi /etc/rc.d/rc.local #在行末加入 /usr/local/webserver/nginx/sbin/nginx
 
测试
cd /data/www/ vi index.php <?php phpinfo(); ?>
                    
                
                
            
        
浙公网安备 33010602011771号