简单构建Linux环境下Nginx+MySQL+PHP,linuxnginx
依赖:首次安装一下依赖,这些依赖都是在安装其他开发环境时需要用到的yum -y install gcc automake autoconf libtool make gcc-c++ glibcyum -y install libmcrypt-devel mhash-devel libxslt-devel 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 pcre-devel
安装nginx:wget http://nginx.org/download/nginx-1.9.9.tar.gz tar -zxvf nginx-1.9.9.tar.gzcd nginx-1.9.9./configure --prefix=/usr/local/nginxmake && make install
创建nginx用户:groupadd wwwuseradd www -g www
修改nginx.conf中的user用户为www,server加上服务器ip/域名
启动nginx:/usr/local/nginx/sbin/nginx查看进程:ps- aux | grep nginx查看端口:netstat -ntlp 可以看到80端口被nginx占用浏览器访问:nginx配置上的ip/域名访问
安装php:wget http://cn2.php.net/distributions/php-5.6.27.tar.gz tar -zxvf php-5.6.27.tar.gzcd php-5.6.27./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt=/usr/local/mcrypt --enable-mbstring --disable-pdo --with-curl --disable-debug --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli --with-gd --with-jpeg-dir --with-openssl --enable-maintainer-zts
make && make install
若提示undefined reference to `libiconv'解决方法:
#wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
#tar -zxvf libiconv-1.13.1.tar.gz
#cd libiconv-1.13.1
# ./configure --prefix=/usr/local/libiconv
# make# make install
编译的时候加上--with-iconv=/usr/local/libiconv
cp php.ini-production /usr/local/php/sbin/php.ini修改php-fpm.conf配置:把 ;pid = run/php-fpm.pid 前面的逗号去掉
启动php:/usr/local/php/sbin/php-fpm查看进程:ps -aux | grep php
创建一个存放php代码的目录:cd /mkdir data1mkdir php-code
创建一个可访问的php文件touch index.phpvi index.php输入内容:<?php echo phpinfo(); ?>:wq 退出
修改nignx.conf配置:vi /usr/local/nginx/conf/nginx.conf修改内容:root /data1/php-code //指定根目录index index.php index.html index.htm //指定默认访问文件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; include fastcgi.conf;}:wq保存退出
重启nginx:/usr/local/nginx/sbin/nginx -t //检测配置是否有错/usr/local/nginx/sbin/nginx -s reload //重启 stop/quit/reload
浏览器访问:地址栏输入服务器ip地址 打印出phpinfo信息 若是没有 则看前面步骤是否遗漏
安装cmake: yum install -y cmake (用户安装MySQL)
安装mysql:wget ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/mysql-5.6.33.tar.gz前面那个是地址 这里我们获取mysql-5.6.33.tar.gz tar -zxvf mysql-5.6.33.tar.gzcd mysql-5.6.33cmake ./ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
make && make install
创建mysql用户:groupadd mysqluseradd mysql -g mysql -M -s /sbin/nologin (表示这个用户不能登录 切换)
创建用于存储MySQL数据的目录:cd /data1mkdir mysqlcd mysqlmkdir tmp-data (临时数据,启动时需要)chmod -R 777 tmp-data
给MySQL目录授权cd /usr/local/mysqlchown -R mysql:mysql . (不要忘记后面的点 . )scripts/mysql_install_db --user=mysql 在将权限付给rootchown -R root:mysql . chown -R mysql:mysql ./datachmod -R ug_rwx .
拷贝MySQL配置文件cp support-files/my-default.cnf /etc/my.cnf修改配置文件:在[mysql]下添加如下配置basedir=/usr/local/mysqldatadir=/data1/mysqltmpdir=/data1/mysql/tmp-data#default-storage-engine=InnoDB#explicit_defaults_for_timstamp=true
启动MySQL:./mysql_safe --user=mysql &查看是否启动成功:ps -aux | grep mysql 查看端口 3306netstat -ntlp
启动过程中,如果‘mysql.plugin’找不到的错误 则执行./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data1/mysql
把MySQL启动服务加到系统服务中:cp support-files/mysql.server /etc/init.d/mysql复制之后就可以使用service服务service mysql startservice mysql stopservice mysql restart
修改数据库root用户密码cd /usr/local/mysql./bin/mysqladmin -u root password 回车New password: xxxxx 输入密码Confirm New password: xxxxx 确认密码
修改完成后登陆./bin/mysql -u root -p password: xxxxx
mysql>use mysql 测试
安装pdo和pdo_mysql扩展:要先安装pdo,再安装pdo_mysql 不然会出错cd php-5.6.27/ext/pdo/usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-configmake && make install
cd php-5.6.27/ext/pdo_mysql/usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-config --with-mysql-config=/usr/local/mysqlmake && make install
安装完成后会在/usr/local/php/lib/php/extensions/no-debug-non-zts-xxxx/目录下出现pdo.so pdo_mysql.so修改php.ini配置文件 加上pdo扩展extension_dir=/usr/local/php/lib/php/extensions/no-debug-non-zts-xxxx/extension=pdo.soextension=pdo_mysql.so
使用客户端链接:./bin/mysql -u root -p 进入mysql命令行模式,mysql>use mysql;mysql>GRANT ALL ON .* to root@'%' IDENTIFIED BY '***'; //允许所有用户访问mysqlmysql>
平滑重启php:kill -SIGUSR2 `cat /usr/local/php/var/run/php-fpm.pid`
完毕
PHP之友评论