• linux 手动源码安装lnmp(亲测)


    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

  • 相关阅读:
    洛谷P2389 电脑班的裁员(区间DP)
    停更祭
    搜索 水题&&错误集锦
    模板——最小生成树prim算法&&向前星理解
    单源最短路dijkstra算法&&优化史
    模板——最小生成树kruskal算法+并查集数据结构
    卡常三连(快读快写+re)
    模板——STL队列
    起点
    《2016年十一月十三日周总结》
  • 原文地址:https://www.cnblogs.com/newmiracle/p/11872637.html
Copyright © 2020-2023  润新知