[root@server1 ~]# tar zxf mysql-boost-5.7.17.tar.gz
[root@server1 ~]# mkdir -p /usr/local/lnmp
[root@server1 ~]# yum install cmake-2.8.12.2-4.el6.x86_64.rpm -y
[root@server1 mysql-5.7.17]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql \ 指定mysql的安装位置
> -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data \ 数据库中数据存放的目录
> -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock \ \链接数据库的SOCKET文件
> -DWITH_MYISAM_STORAGE_ENGINE=1 \ 安装MYISAM存储引擎
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \
> -DDEFAULT_CHARSET=utf8 \ 使用UTF-8字符编码
> -DDEFAULT_COLLATION=utf8_general_ci \ 校验字符
> -DEXTRA_CHARSETS=all \ 安装所有扩展字符集
3.在初次编译后,我们会发现有许多依赖性未安装,一个一个解决依赖项,预编译环境配置完成
[root@server1 mysql-5.7.17]# yum install gcc gcc-c++ -y
[root@server1 mysql-5.7.17]# yum install ncurses-devel -y
[root@server1 mysql-5.7.17]# yum install -y bison
[root@server1 ~]# cd mysql-5.7.17/
[root@server1 mysql-5.7.17]# make
[root@server1 mysql-5.7.17]# make install
[root@server1 ~]# cd mysql-5.7.17/
[root@server1 mysql-5.7.17]# cd support-files/
[root@server1 support-files]# cp mysql.server /etc/init.d/mysqld
[root@server1 support-files]# cd /etc/init.d/
[root@server1 init.d]# chmod +x mysqld ##添加权限
[root@server1 init.d]# cd
[root@server1 ~]# /etc/init.d/mysqld ##命令可以补齐则成功
[root@server1 ~]# cd /etc
[root@server1 etc]# ls my.cnf
my.cnf
[root@server1 etc]# cp my.cnf my.cnf.bakeup
[root@server1 etc]# cd
[root@server1 ~]# cd mysql-5.7.17/
[root@server1 mysql-5.7.17]# cd support-files/
[root@server1 support-files]# cp my-default.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf'? y
[root@server1 support-files]# vim /etc/my.cnf
basedir = /usr/local/lnmp/mysql # mysql的安装目录
datadir = /usr/local/lnmp/mysql/data # mysql数据存放位置
socket = /usr/local/lnmp/mysql/data/mysql.sock # mysql与外界联系的套接字文件位置
[root@server1 ~]# groupadd -g 27 mysql
[root@server1 ~]# useradd -u 27 -g 27 -M -d /usr/local/lnmp/mysql/data -s /sbin/nologin mysql
[root@server6 ~]# cd /usr/local/lnmp/mysql/
[root@server1 mysql]# mkdir data
[root@server1 mysql]# chgrp mysql /usr/local/lnmp/mysql -R
[root@server1 mysql]# chown mysql data -R
[root@server1 mysql]# ll
total 60
drwxr-xr-x 2 root mysql 4096 Feb 16 15:37 bin
-rw-r--r-- 1 root mysql 17987 Nov 28 2016 COPYING
drwxr-xr-x 2 mysql mysql 4096 Feb 16 16:21 data
drwxr-xr-x 2 root mysql 4096 Feb 16 15:37 docs
drwxr-xr-x 3 root mysql 4096 Feb 16 15:37 include
drwxr-xr-x 4 root mysql 4096 Feb 16 15:37 lib
drwxr-xr-x 4 root mysql 4096 Feb 16 15:37 man
drwxr-xr-x 10 root mysql 4096 Feb 16 15:38 mysql-test
-rw-r--r-- 1 root mysql 2478 Nov 28 2016 README
drwxr-xr-x 28 root mysql 4096 Feb 16 15:38 share
drwxr-xr-x 2 root mysql 4096 Feb 16 15:38 support-files
[root@server1 mysql]# vim ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin
[root@server1 mysql]# source ~/.bash_profile 加载.bash_profile文件
##也可以在root的path中,使用软链接添加进来。(ln -s /usr/local/lnmp/mysql/bin/* /usr/local/sbin/)
[root@server1 mysql]# mysql ##此时mysql命令生成,但是还不能进入
[root@server1 data]# mysqld --user=mysql --initialize
注意:如果这条命令执行不成功,则进入data目录下,将里面的东西都删掉,再次执行则成功
[root@server1 mysql]# cd data
[root@server1 data]# ls
auto.cnf ib_buffer_pool ibdata1 ib_logfile0 ib_logfile1 server1.err
[root@server1 data]# rm -fr *
[root@server1 data]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/usr/local/lnmp/mysql/data/server1.err'.
. SUCCESS! 成功
[root@server1 data]# mysql -uroot -pgtXff9oUJ*/l
注意:如果不能成功进入
显示:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/usr/local/lnmpmysql/data/mysql.sock’
(1)可能是mysql.sock目录位置没有写对,可能在编译的时候就编写错误,也可能在 my.conf 文件中的socket:指定位置没有写对
(2)有可能是3306端口被占用了
解决方式:
[root@server1 ~]# tar jxf php-5.6.35.tar.bz2
[root@server1 ~]# yum install -y libmcrypt-2.5.8-9.el6.x86_64.rpm
[root@server1 ~]# yum install -y libmcrypt-devel-2.5.8-9.el6.x86_64.rpm
以上两个包要在官网上下载
[root@server1 php-5.6.35]# yum install libxml2-devel -y
[root@server1 php-5.6.35]# yum install openssl-devel -y
[root@server1 php-5.6.35]# yum install libcurl-devel -y
[root@server1 php-5.6.35]# yum install libjpeg-turbo-devel-1.2.1-1.el6.x86_64 -y
[root@server1 php-5.6.35]# yum install 2:libpng-devel-1.2.49-1.el6_2.x86_64 -y
[root@server1 php-5.6.35]# yum install freetype-devel -y
[root@server1 php-5.6.35]# yum install gmp-devel-4.3.1-7.el6_2.2.x86_64 -y
[root@server1 php-5.6.35]# yum install net-snmp-devel -y
./configure --prefix=/usr/local/lnmp/php # php安装的位置
--with-config-file-path=/usr/local/lnmp/php/etc # php配置文件所在的位置
--with-openssl # 支持openssl加密
--with-snmp
--with-gd
--with-zlib --with-curl
--with-libxml-dir #支持 libxml 函数
--with-png-dir --with-jpeg-dir --with-freetype-dir # php处理图片的格式
--with-gmp
--with-gettext
--with-pear
--enable-mysqlnd
--with-mysql=mysqlnd
--with-mysqli=mysqlnd
--with-pdo-mysql=mysqlnd # 支持与mysql数据库之间建立联系
--enable-inline-optimization
--enable-soap
--enable-ftp
--enable-sockets
--enable-mbstring
--enable-fpm # 开启fpm模式(nginx等服务用的)
--with-fpm-user=nginx # 对PHP服务的限制通过nginx用户来实现
--with-fpm-group=nginx # PHP以nginx用户组身份运行
--with-mcrypt # 提供了对多种块算法的支持 主要用来实现加密等算法
--with-mhash # 加密算法
[root@server1 php-5.6.35]# make && make install
[root@server1 ~]# useradd -M -d /usr/local/lnmp/nginx -s /sbin/nologin nginx
[root@server1 etc]# cd /usr/local/lnmp/php/etc/
[root@server1 etc]# ls
pear.conf php-fpm.conf.default
[root@server1 etc]# cp php-fpm.conf.default php-fpm.conf
[root@server1 etc]# vim php-fpm.conf
25 pid = run/php-fpm.pid ##去掉注释
149 user = nginx ##保证用户和组都是ngnix
150 group = nginx
[root@server1 ~]# cd php-5.6.35
[root@server1 php-5.6.35]# cp php.ini-production /usr/local/lnmp/php/etc/php.ini
[root@server1 php-5.6.35]# cd /usr/local/lnmp/php/etc/
[root@server1 etc]# vim php.ini
date.timezone =Asia/Shanghai ##修改时区
[root@server1 ~]# cd php-5.6.35
[root@server1 php-5.6.35]# cd sapi/fpm/
[root@server1 fpm]# cp init.d.php-fpm /etc/init.d/php-fpm # init.d.php-fpm是编译完成的启动脚本
[root@server1 fpm]# chmod +x /etc/init.d/php-fpm #给脚本加上可执行权限
[root@server1 fpm]# /etc/init.d/php-fpm start
Starting php-fpm done
[root@server1 fpm]# netstat -tlnp # 查看php服务的监听端口(9000)
1.得到nginx的源码包并解压
[root@server1 ~]# tar zxf nginx-1.14.0.tar.gz
[root@server1 ~]# cd nginx-1.14.0
[root@server1 nginx-1.14.0]# vim src/core/nginx.h
14 #define NGINX_VER "nginx/"
[root@server1 nginx-1.14.0]# vim auto/cc/gcc
171 # debug
172 #CFLAGS="$CFLAGS -g" ##添加注释
[root@server1 nginx-1.14.0]# ./configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module --with-http_stub_status_module --with-threads --with-file-aio --user=nginx --group=nginx
[root@server1 nginx-1.14.0]# yum install pcre-devel gcc zlib-devel -y
[root@server1 nginx-1.14.0]# make && make install
[root@server1 nginx-1.14.0]# cd /usr/local/lnmp/nginx/conf/
[root@server1 conf]# vim nginx.conf
43 location / {
44 root html;
45 index index.php index.html index.htm; ##添加index.php(放在最前面)
46 }
65 location ~ \.php$ {
66 root html;
67 fastcgi_pass 127.0.0.1:9000;
68 fastcgi_index index.php;
69 # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
70 include fastcgi.conf; ##修改
71 }
[root@server1 sbin]# ln -s /usr/local/lnmp/nginx/sbin/nginx /usr/local/sbin/ ##创建一个软连接
[root@server1 sbin]# nginx -t ##语法检测
[root@server1 nginx-1.14.0]# nginx ##打开nginx
[root@server1 nginx-1.14.0]# netstat -tnlp ##查看端口为80
[root@server1 ~]# cd /usr/local/lnmp/nginx/html/
[root@server1 html]# ls
50x.html index.html
[root@server1 html]# vim index.php ##编写默认页面
<?php
phpinfo()
?>