【最新版lnmp编译安装】编译安装nginx1.10.2最新版、php7.0.12最新版、mysql5.7.16最新版
来源:互联网 发布:sql语句between 编辑:程序博客网 时间:2024/05/21 19:51
哈理工大学软件学院的hustoj 服务器 学校给了公网ip。高配带宽、CPU、存储。所以把当时都通过yum安装的 较低版本的lamp。全都通过源码编译的方式重塑一下web环境。
全都是lnmp 全都是官网最新稳定版。一朝升级,十年不用动了。换成nginx的原因是,以后可以在上面测试反向代理、负载均衡、静态化页面的东西。并发处理强度远大于apache。php7性能据说比以往版本提高至少3倍。
一、安装nginx
1、安装 pcre
为了支持 rewrite 功能,我们需要安装 pcre
# yum install pcre* //如过你已经装了,请跳过这一步
安装 openssl
需要 ssl 的支持,如果不需要 ssl 支持,请跳过这一步
# yum install openssl* //如过你已经装了,请跳过这一步
2、安装nginx
获取最新版nginx
#:cd /usr/local/src#:wget http://nginx.org/download/nginx-1.10.2.tar.gz#: ./configure --prefix=/usr/local/nginx \--pid-path=/usr/local/nginx/nginx.pid \--error-log-path=/usr/local/nginx/error.log \--http-log-path=/usr/local/nginx/access.log \--with-http_ssl_module \--with-mail --with-mail_ssl_module \--with-stream --with-threads \#:make & make install
完成安装
3、启动nginx
# cd /usr/local/nginx/sbin/# ./nginx
此时访问应该能在浏览器看到欢迎页了
二、安装php7.0.12
1、安装依赖包
确保安装之前有安装 gd,png,curl,xml 等等 lib 开发库。如果不确定,执行以下命令:
# yum install gcc make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurldevel curl curl-devel -y cd /usr/local/src# wget http://cn2.php.net/get/php-7.0.12.tar.bz2/from/this/mirror# tar -jxf mirror
可能出现Package: php70w-mcrypt-7.0.12-1.w6.x86_64 (webtatic) Requires: libmcrypt.so()64的错误
解决升级源 然后yum装对应缺少的库
# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -Uvh epel-release*rpm# yum install libmcrypt# yum install libmcrypt-devel
最后检测配置安装环境
# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc \--enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysqli --with-pdo-mysql \ --with-iconv-dir --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 \ --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash \ --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear \ --with-gettext --disable-fileinfo --enable-maintainer-zts # make & make install
启动php-fpm
# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf # vim www.conf
找到如下两行
添加www 这个用户和用户组
# groupadd www# useradd -g www -d /home/www
启动php-fpm
# /usr/local/php/sbin/php-fpm
查看是否启动成功
# netstat -ano | grep '9000'
修改nginx.conf 打开以下注释
并在此文件中指定网站根目录 root。并在index 加上index.php
启动nginx
# /usr/local/src/nginx/sbin/nginx# /usr/local/src/nginx/sbin/nginx -s reload 重新加载# /usr/local/src/nginx/sbin/nginx -s stop 停止服务
启动成功后
可以看到nginx欢迎页了
将启动参数添加用户变量
# vim ~/.bash_profile# source ~/.bash_profil
三、编译安装mysql5.7.16最新版
安装cmake
# wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz# tar -zvxf cmake-3.5.2.tar.gz# cd cmake-3.5.2# yum install -y make gcc gcc-c++ ncurses-devel# ./bootstrap# gmake # gmake install
下载mysql
# wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.16.tar.gz
编译mysql
编译参数参考一、
# cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ [MySQL安装的根目录]-DMYSQL_DATADIR=/mydata/mysql/data \ [MySQL数据库文件存放目录]-DSYSCONFDIR=/etc \ [MySQL配置文件所在目录]-DMYSQL_USER=mysql \ [MySQL用户名] -DWITH_MYISAM_STORAGE_ENGINE=1 \ [MySQL的数据库引擎]-DWITH_INNOBASE_STORAGE_ENGINE=1 \ [MySQL的数据库引擎]-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ [MySQL的数据库引擎]-DWITH_MEMORY_STORAGE_ENGINE=1 \ [MySQL的数据库引擎]-DWITH_READLINE=1 \ [MySQL的readline library]-DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \ [MySQL的通讯目录]-DMYSQL_TCP_PORT=3306 \ [MySQL的监听端口]-DENABLED_LOCAL_INFILE=1 \ [启用加载本地数据]-DENABLE_DOWNLOADS=1 \ [编译时允许自主下载相关文件]-DWITH_PARTITION_STORAGE_ENGINE=1 \-DEXTRA_CHARSETS=all \ [使MySQL支持所有的扩展字符]-DDEFAULT_CHARSET=utf8 \ [设置默认字符集为utf8]-DDEFAULT_COLLATION=utf8_general_ci \ [设置默认字符校对]-DWITH_DEBUG=0 \ [禁用调试模式]-DMYSQL_MAINTAINER_MODE=0 \-DWITH_SSL:STRING=bundled \ [通讯时支持ssl协议]-DWITH_ZLIB:STRING=bundled [允许使用zlib library] \-DDOWNLOAD_BOOST=1 \-DWITH_BOOST=/root/mysql/boost_1_59_0
在这里遇到失败 需要安装boost库 网上有说直接下载一个boost包 在cmake 后面指定路径即可
cmake . -DDOWNLOAD_BOOST=1 \ -DWITH_BOOST=/usr/local/src/boost_1_59_0\
对我来说不好使吧
结果手动下载boost库 并编译安装之
# wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz# tar -axvf boost_1.59_0# ./b2
编译参数二、
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/mydata/data \ -DSYSCONFDIR=/etc \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DWITH_LIBWRAP=0 \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -DWITH_BOOST=/usr/local/src/boost_1_59_0 \ //路径是boost库路径 -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci
提示安装 bison
# yum install bison* -y# make & make install
接下来又是漫长的等待
安装完成后
cp ./support-files/mysql.server /etc/init.d/mysqld# chkconfig --add mysqld# chkconfig mysqld on# chkconfig | grep mysqlmysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off#groupadd -r mysql && useradd mysql&& usermod -d /home/mysql -p mysql -s /bin/bash mysql
初始化mysql
# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/mydata/mysql/data
添加用户变量
# vim ~/.bash_profile内容如下:# .bash_profile# Get the aliases and functionsif [ -f ~/.bashrc ]; then . ~/.bashrcfi# User specific environment and startup programsPATH=$PATH:$HOME/bin:/usr/local/mysql/binexport PATH立即生效:#:source ~/.bash_profile授权:# chown -R mysql:mysql /usr/local/mysql# chown -R mysql:mysql /mydata/data# chmod 755 /usr/local/mysql/bin/mysqld# chown -R mysql:mysql /var/run/mysql/
启动mysql的时候报错。找不到mysql.sock文件
Can ‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock ‘(2) “;
执行:
# mysqld_safe --user --defaults-file /etc/my.cnf# mysqld_safe --user --defaults-file /etc/my.cnf
会自动生成一个mysql.sock
查找所生成的路径
# find / -name mysql.sock#vim /etc/my.cnf下面这两个参数必须要和上述编译参数配置的一致,否则启动后登录不上datadir=/mydata/mysql/datasocket=/var/run/mysql/mysql.sock
指定mysql数据存放目录
启动mysql
# service mysqld start
启动后进行一些配置,包括修改root密码
mysql_secure_installation
启动nginx
# nginx -s reload
说明一点: php7废弃了 php5.3 5.4版本之前的一些函数。根据nginx错误日志找到出错的函数,编辑相应php文件 替换掉php7+的函数即可
- 【最新版lnmp编译安装】编译安装nginx1.10.2最新版、php7.0.12最新版、mysql5.7.16最新版
- 【最新版lnmp编译安装】编译安装nginx1.10.2最新版、php7.0.12最新版、mysql5.7.16最新版
- 编译安装nginx1.10.2最新版、php7.0.12最新版、mysql5.7.16最新版
- Centos7 安装 PHP7最新版
- Centos7 安装 PHP7最新版
- Centos7 安装 PHP7最新版
- Centos7 安装 PHP7最新版
- 最新版mysql5.7.16安装备忘录
- centos 编译安装最新版 Git
- centos7编译安装最新版Git
- centos7编译安装git最新版
- centos7编译安装内核最新版
- centos7编译安装git最新版
- Centos7-64bit尝试编译最新版的nginx1.9.3+php7+mysql5.6.25
- Centos7-64bit尝试编译最新版的nginx1.9.3+php7+mysql5.6.25
- CentOS 编译安装NGINX最新版及常用命令
- ubuntu 编译安装最新版node && npm
- centos源码编译安装最新版git
- 查找数组中重复的数字
- 使用百度地图时出现的问题
- vim安装配置
- 让ListView自动显示到最后的adepter上用什么方法实现呢
- 【面试总结】--jboss调优
- 【最新版lnmp编译安装】编译安装nginx1.10.2最新版、php7.0.12最新版、mysql5.7.16最新版
- 08适配器模式
- 调用android自带的json类解析出错!!!
- 快速排序算法
- 求帮忙 写一个自定义的圆形进度条
- js中this的全面解析之绑定规则(一)
- 基于TI-RTOS的CC2650DK开发(24)--- 最小化应用程序的内存占用
- 09装饰模式
- jzoj 2016.12.31 noip模拟赛A 总结