1. MySQL的编译安装:
1. 增加一个mysql用户:-M就不生成家目录
# useradd -s /sbin/nologin -M mysql
2. 在data目录下面建立一个mysql目录,并修改权限:-p创建级联目录,-R继承权限
# mkdir -p /data/mysql # chown -R mysql:mysql /data/mysql
3. 下载MySQL安装包:下载地址选择的是搜狐镜像:mirrors.sohu.com,需要其余版本的可以在里面自己找。源码包的大小目前不超过100M(2016年)。
# cd /usr/local/src
# wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.11.tar.gz
4. 下载完成后,将mysql解压并进行cmake和后续操作:
# tar zxvf mysql-5.7.11.tar.gz
# cd mysql-5.7.11 # cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/-DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.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本身很大,所以,make的时间会非常长。
5. 下面进行初始化:
./scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql
出现错误: bash: ./scripts/mysql_install_db: 权限不够;查询./scripts/mysql_install_db的权限,发现没有x:
# ll ./scripts/mysql_install_db
-rw-r--r-- 1 mysql mysql 33853 12月 3 18:24 ./scripts/mysql_install_db
添加x权限,重新初始化:
# chmod a+x ./scripts/mysql_install_db # ./scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql
6. 初始化成功,出现两个 OK,说明初始化成功。拷贝配置文件到相应位置:
# cp my.cnf /etc/my.cnf ## 覆盖原来的my.cnf # cd support-files/ # cp mysql.server /etc/init.d/mysqld # chmod 755 !$ # /etc/init.d/mysqld start # ps aux |grep mysqld
启动MySQL服务以后,在进程里面可以看到mysqld。
2. php的编译安装
针对Nginx的php安装和针对apache的php安装是有区别的。区别在于,Nginx中的php是以fastcgi的方式结合nginx的。可以理解为nginx代理了php的fastcgi,而apache是把php作为自己的模块来调用的。
PHP官方下载地址: http://www.php.net/downloads.php,以5.4版本为例:
php和nginx的安装没有顺序,下面就先安装php。
1. 下载和建立用户
# cd /usr/local/src # wget http://au1.php.net/distributions/php-5.4.44.tar.bz2 # tar jxf php-5.4.44.tar.bz2 # useradd -s /sbin/nologin php-fpm
2. 配置编译参数:
# cd php-5.4.44 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --enable-zend-multibyte --disable-ipv6 --with-pear --with-curl --with-openssl
3. 安装
# make && make install
4.修改配置文件:
# cp php.ini-production /usr/local/php/etc/php.ini # vim /usr/local/php/etc/php-fpm.conf ## 添加如下配置: [global] pid = /usr/local/php/var/run/php-fpm.pid error_log = /usr/local/php/var/log/php-fpm.log [www] listen = /tmp/php-fcgi.sock user = php-fpm group = php-fpm pm = dynamic pm.max_children = 50 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 500 rlimit_files = 1024
## 保存配置文件后,检验配置是否正确的方法为:
# /usr/local/php/sbin/php-fpm -t,可以设立一个alias。
5. 启动php
首先要拷贝一个启动脚本到/etc/init.d/下
# cp /usr/local/src/php-5.3.27/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm # chmod 755 /etc/init.d/php-fpm # chkconfig --add php-fpm # chkconfig php-fpm on ## 上面添加开机启动 # useradd -s /sbin/nologin -M php-fpm ## 在LNMP环境中,php是以一个服务方式来提供的,配置的时候,user = php-fpm; group = php-fpm就指定了这个用户,因此,需要建立一个php-fpm不可登录的账户来运行php-fpm服务。 # service php-fpm start # ps aux |grep php-fpm
原文:http://www.cnblogs.com/llius/p/5196305.html