linux 手动源码安装lnmp笔记(亲测)<pre>先安装这2个yum install gccyum install g++</pre>
<pre>
先在linux 安装libiconv 源码编译安装PHP有用
#wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz#tar xvf libiconv-1.14.tar.gz#cd libiconv-1.14# ./configure --prefix=/usr/local/libiconv# make# make install</pre>

<pre>1 先去PHP官网下个 php-5.6.29.tar.gz  wget http://cn2.php.net/distributions/php-5.6.29.tar.gz2 ./configure --prefix=/usr/local/php   --with-iconv=/usr/local/libiconv  --enable-sysvsem --with-curl --enable-mbregex  --enable-mbstring --with-mcrypt --with-gd --with-openssl --with-mhash --enable-sockets --with-xmlrpc --with-zlib --enable-fpm --with-config-file-path=/usr/local/php/etc 
 --with-iconv=/usr/local/libiconv 这个路径就是上面libiconv安装的路径哈--with-mcrypt没指定路径就 就是说明PHP编译的时候回安装 指定的就直接用指定的

3 make 生成o文件 如果出现  undefined reference to `libiconv' 那就是 ./configure --prefix没设置好 make clean 后重新配置./configure ............
4 make install  安装

输入 php -v[root@iZbp11xke8lva3xk8b3qtnZ ~]# php -vPHP 5.6.29 (cli) (built: Jan  5 2017 10:37:51) Copyright (c) 1997-2016 The PHP GroupZend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
还要把php.ini放进去
先该下php.ini配置设置下默认市区date.timezone = "Asia/Shanghai"
cp /home/php-5.6.29/php.ini-production /usr/local/php/etc/php.ini
下面配置php-fpm<pre>进入/usr/local/php/etc目录cp php-fpm.conf.default php-fpm.conf</pre>
然后运行php-fpm -t 有没有报错 没有报错就行了
php-fpm直接启动就行netstat -ntlp查看端口 是否启动

</pre>
源码安装mysql<pre>(1)先安装cmake(mysql5.5以后是通过cmake来编译的)[root@ rhel5 local]#tar -zxv -f cmake-2.8.4.tar.gz[root@ rhel5 local]#cd cmake-2.8.4[root@ rhel5 cmake-2.8.4]#./configure[root@ rhel5 cmake-2.8.4]#make[root@ rhel5 cmake-2.8.4]#make install
/usr/local/bin/cmake  --version 测试有没有安装成功

(2)创建mysql的安装目录及数据库存放目录[root@ rhel5~]#mkdir -p /usr/local/mysql                 //安装mysql [root@ rhel5~]#mkdir -p /usr/local/mysql/data            //存放数据库
(3)创建mysql用户及用户组[root@ rhel5~]groupadd mysql[root@ rhel5~]useradd -r -g mysql mysql
(4)安装mysql# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.34.tar.gz#tar zxvf mysql-boost-5.7.17.tar.gz#cd mysql-5.6.34#/usr/local/bin/cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1[root@ rhel5 mysql-5.5.10]#make [root@ rhel5 mysql-5.5.10]#make install

设置目录权限# cd /usr/local/mysql# chown -R root:mysql . //把当前目录中所有文件的所有者所有者设为root,所属组为mysql# chown -R mysql:mysql datacp support-files/my-medium.cnf /etc/my.cnf //将mysql的启动服务添加到系统服务中
修改下my.cnf配置文件 添加如下 1个是mysql命令连接 1个是客户端的链接 因为都是socket连接mysql所以指定下socket路径<pre>[mysqld]socket=/tmp/mysql.sock[client]socket=/tmp/mysql.sock</pre>

创建系统数据库的表# cd /usr/local/mysql# scripts/mysql_install_db --user=mysql

# cd /usr/local/mysql
# ./bin/mysqld_safe --user=mysql &   //启动MySQL,但不能停止
启动日志写在此文件下:/usr/local/mysql/data/localhost.err

设置环境变量[root@ rhel5~]# vi /root/.bash_profile
在PATH=$PATH:$HOME/bin添加参数为:
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
#source /root/.bash_profile

关闭MySQL服务# mysqladmin -u root -p root//这里MySQL的root用户还没有配置密码,所以为空值。需要输入密码时,直接点回车键即可。

[root@ rhel5 mysql]# cp support-files/mysql.server  /etc/init.d/mysql //将mysql的启动服务添加到系统服务中可以使用如下命令# service mysql start  # service mysql stop# service mysql restart
修改MySQL的root用户的密码以及打开远程连接# mysql -u root mysql
mysql>use mysql;mysql>desc user;mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";  //为root添加远程连接的能力。mysql>update user set Password = password('xxxxxx') where User='root';mysql>select Host,User,Password  from user where User='root'; mysql>flush privileges;mysql>exit
重新登录:mysql -u root -p
若还不能进行远程连接,则关闭防火墙[root@ rhel5~]# /etc/rc.d/init.d/iptables stop
</pre>
下面安装nginx 安装下面软件只要安装目录没有文件就行先安装openssl软件<pre>wget http://down1.chinaunix.net/distfiles/openssl-1.0.0c.tar.gztar zxvf openssl-1.0.0c.tar.gzcd openssl-1.0.0c
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl/confmake && make install#检验安装/usr/local/openssl/bin/openssl version -a </pre>
再安装安装pcre软件<pre>wget https://ncu.dl.sourceforge.net/project/pcre/pcre2/10.22/pcre2-10.22.tar.gztar zxvf pcre2-10.22.tar.gzcd pcre2-10.22./configure --prefix=/usr/local/pcre/make & make install</pre>
再安装安装zlib软件<pre>wget http://jaist.dl.sourceforge.net/project/libpng/zlib/1.2.10/zlib-1.2.10.tar.gztar zxvf zlib-1.2.10.tar.gzcd zlib-1.2.10./configure --prefix=/usr/local/zlib/make && make install</pre>

接下来安装nginx<pre>#添加www用户和组groupadd wwwuseradd -g www www

#创建网站根目录mkdir -p     /var/www/root/chmod -R 775 /var/www/root/
#下载wget http://nginx.org/download/nginx-1.10.2.tar.gz#解压tar zxvf nginx-1.10.2.tar.gz#进入安装目录cd nginx-1.10.2
mkdir -p /home/pcre2-10.22/pcre210/.libscp /usr/local/lib/libpcre.a /home/pcre2-10.22/libpcre.acp //usr/local/lib/libpcre.a /home/pcre2-10.22/libpcre.lacp /usr/local/lib/libpcre.a /home/pcre2-10.22/.libs/libpcre.acp /usr/local/lib/libpcre.a /home/pcre2-10.22/.libs/libpcre.la
#配置(使用openssl、pcre、zlib的源码路径不是安装好的路径 切记!)./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=/home/openssl-1.0.0c --with-pcre=/home/pcre2-10.22 --with-zlib=/home/zlib-1.2.10 --with-http_stub_status_module --with-threads

#编译安装 (ps:安装可能pcre会报错  继续看看这个文件/home/pcre2-10.22/.libs/还有没有cp /usr/local/lib/libpcre.a /home/pcre2-10.22/.libs/libpcre.acp /usr/local/lib/libpcre.a /home/pcre2-10.22/.libs/libpcre.la)make && make install
#验证/usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.10.2built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) built with OpenSSL 1.0.0c 2 Dec 2010TLS SNI support enabledconfigure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=/home/openssl-1.0.0c --with-pcre=/home/pcre2-10.22 --with-zlib=/home/zlib-1.2.10 --with-http_stub_status_module --with-threads

修改配置文件
vi /usr/local/nginx/conf/nginx.conf
改默认跟目录和  默认首页location / {            root   /home/www;            index  index.php index.html index.htm;        }

将其中的
        location / {            root   html;            index  index.php index.html index.htm;        }改为
        location / {            root   /home/www;            index  index.php index.html index.htm;        }
这个也要改成 访问PHP 让php-fpm端口处理 $document_root 代表当前请求在root指令中指定的值   location ~ \.php$ {            root           /home/www;            fastcgi_pass   127.0.0.1:9000;            fastcgi_index  index.php;            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;            include        fastcgi_params;        }
 charset utf-8; 要改成utf-8然后重启nginx
切记/home/www这个目录一定要设置访问权限!!!! 
启动、重启
#启动:/usr/local/nginx/sbin/nginx 
#重启/usr/local/nginx/sbin/nginx -s reload停止
kill -9 nginx进程号
测试#测试端口 netstat -ntlp //看看80端口有没有运行#浏览器中测试  http://ip:80
ps:原理 nginx80端口接收到文件 会发到php-fpm端口 让他来解析处理PHP 并不是nginx端口解析处理php的

</pre>
看phpinfo Loaded Configuration File 如果none那就执行 给他执行加载的php.ini<pre>/usr/local/php/sbin/php-fpm -y /usr/local/php/etc/php-fpm.conf -c /usr/local/php/etc/php.ini</pre>

然后看没有mysql和mysqli扩展模块 那就直接进入php源码包ext里面  安装扩展 这样才能使用php函数链接mysqlps:装mysql前先yum -y install mysql-devel

接下来安装phpmyadminwget https://files.phpmyadmin.net/phpMyAdmin/3.5.8.2/phpMyAdmin-3.5.8.2-all-languages.zipunzip phpMyAdmin-3.5.8.2-all-languages.zipcd phpMyAdmin-3.5.8.2-all-languages

linux 手动源码安装lnmp(亲测)的更多相关文章

  1. Linux中源码安装编译Vim

    Linux中源码安装编译Vim Linux下学习工作少不了编辑器,Vim能使你的工作效率成倍的提高.在Ubuntu上安装vim使用命令直接安装很简单.但有时还是需要自己手动编译安装.例如: vim中的 ...

  2. linux下源码安装netcat

    linux下源码安装netcat http://blog.chinaunix.net/uid-20783755-id-4211230.html 1,下载netcat源码,netcat-0.7.1-13 ...

  3. CENTOS6.5源码安装LNMP

    CENTOS6.5源码安装LNMP 一.安装前准备 ########################################################################## ...

  4. CentOS7(Linux)源码安装Redis

    介绍 项目中经常需要用到Redis做缓存数据库,可是还有小伙伴不会在Linux上安装Redis,毕竟我们开发的项目都是要在服务器上运行的,今天就来讲讲如何在CentOS7环境使用源码进行安装Redis ...

  5. 源码安装LNMP与搭建Zabbix

    系统环境:CentOS release 6.5 (Final) 搭建Zabbix 3.0对PHP环境要求>= 5.4 一.下载NMP的软件包: N:wget http://nginx.org/d ...

  6. Linux MySQL源码安装缺少ncurses-devel包

    在Red Hat Enterprise Linux Server release 5.7 上用源码安装MySQL-5.6.23时,遇到了" remove CMakeCache.txt and ...

  7. linux(centos)源码安装git

    最近使用一个开源库,部署的的时候需要用git克隆依赖库.刚好系统没安装git.就尝试了源码安装git. 源码下载地址:http://codemonkey.org.uk/projects/git-sna ...

  8. linux下源码安装软件

    在linux下的很多软件都是通过源码包方式发布的,这样做对于最终用户而言,虽然相对于二进制软件包,配置和编译起来繁琐点,但是它的可移植性却好得多,针对不同的体系结构,软件开发者往往仅需发布同一份源码包 ...

  9. Linux系统源码安装过程中的prefix选项

    在linux和unix环境中,源码安装是最常用的软件安装方式,一些软件除了提供源码外,也提供各种发行版的二进制安装包(如基于redhat包管理工具的rpm包),但强烈建议使用源码安装方式.原因是:(1 ...

随机推荐

  1. .Net Core 给WebApi接口返回值添加全局的日期格式化

    public void ConfigureServices(IServiceCollection services) { services.AddMvc().AddJsonOptions(option ...

  2. ASP.NET MVC IOC 之 Autofac(三)-webform中应用

    在webform中应用autofac,只有global中的写法不一样,其他使用方式都一样 nuget上引用: global中的写法: private void AutoFacRegister() { ...

  3. 自定义Robotframework,Appium的一个关键字(用于点击目标图片,用于Appium无法识别的一些图片元素)

     Appium无法识别的一些图片元素,必须先通过图片找坐标,进而通过点击坐标解决问题. 1.先在terminer运行安装命令: pip install robotframework-appiumlib ...

  4. 【开发笔记】- grails框架中在使用domain的save方法保存时保存不成功

    1.如果报错,自行根据异常查找错误,这里不说明 2.如果为报错,我遇到的就是domain中的字段属性与数据库中为同步 (1)你的domain是新的,在增加新的字段属性时未使用update更新数据库,造 ...

  5. vue+element下拉框样式的点击按钮

    项目中点击按钮实在太多了,怎么办呢?我们就可以将它们制作成像下拉框那样的类似操作 1.HTML样式部分:关键点在于command 方法和属性 1 <el-dropdown 2 size=&quo ...

  6. Android ListView显示不同样式的item

    先look图 我们再使用listview时,listview的item大多时候都是一种样式,在很多app中也很常见,但有时候根据需求,可能数据的数量不一样,同个类型的数据显示的位置不同,亦或者有的it ...

  7. Mysql高性能优化规范

    数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名识意 ...

  8. Idea实用功能手记

    一. 自动优化导包(自动删除.导入包) 下面是Auto Import设置步骤详解. Settings→Editor→General→Auto Import 然后勾选Add unambiguous im ...

  9. Compute Shader基础

    ComputeShader:     GPGPU:General Purpose GPU Programming,GPU通用计算,利用GPU的并行特性.大量并行无序数据的少分支逻辑适合GPGPU.平台 ...

  10. oneinstack——证书更新

    如果你安装好 oneinstack 你的定时任务就会自动添加 "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh ...