zoukankan      html  css  js  c++  java
  • LNMP分离部署

     (PHP)开始安装php

    执行下面命令安装相关的lib软件包

    yum -y install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel

    yum -y install freetype-devel 0libpng-devel gd libcurl-devel libxslt-devel

    安装yum无法安装的libiconv

    wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

    这四个包直接有依赖   轮流装一遍进行

    没有时可以下载

    yum -y install libmcrypt-devel

    yum -y install mhash

    yum -y install mcrypt

    没有PHP包时用公网源安装:

    wget http://cn2.php.net/get/php-5.3.28.tar.gz/from/this/mirror

     

    --prefix=/usr/local/php5.3.28 \

    --with-mysql=/usr/local/mysql \    这里需要改为--with-mysql=mysqlnd \   是因为5.3以后安装PHP就不需要先安装MySQL了     用它自己内置的MySQL环境

    --with-iconv-dir=/usr/local/libiconv \

    --with-freetype-dir \

    --with-jpeg-dir \

    --with-png-dir \

    --with-zlib \

    --with-libxml-dir=/usr \--enable-xml \

    --disable-rpath \

    --enable-safe-mode \

    --enable-bcmath \

    --enable-shmop \

    --enable-sysvsem \

    --enable-inline-optimization \

    --with-curl \

    --with-curlwrappers \

    --enable-mbregex \

    --enable-fpm \

    --enable-mbstring \

    --with-mcrypt \

    --with-gd \

    --enable-gd-native-ttf \

    --with-openssl \

    --with-mhash \

    --enable-pcntl \

    --enable-sockets \

    --with-xmlrpc \

    --enable-zip \

    --enable-soap \

    --enable-short-tags \

    --enable-zend-multibyte \

    --enable-static \

    --with-xsl \

    --with-fpm-user=www \

    --with-fpm-group=www \

    --enable-ftp

    #特别强调:上述每行结尾的换行符反斜线(\)之后不能再有任何字符包括空格

    如果出错就看它报错的内容     -devel是把跟它有关的所有包装上

    openssl     看这个包安装了没这是开启远程ssh访问

    安装完成后直接编译   不需要在做本地的连接了

    make   &&  make  install

    #make最后的正确提示

    Build complete

    Don't forget to run 'make test'.

     

    开始设置软链接以方便访问,命令如下:

    [root@localhost ~]# ln -s /usr/local/php5.3.28/ /usr/local/php

    [root@localhost ~]# ls -l /usr/local/php

    lrwxrwxrwx. 1 root root 21 Jul 14 13:06 /usr/local/php -> /usr/local/php5.3.28/

    (2)查看PHP配置默认模版文件,命令如下:

    [root@localhost ~]# cd /usr/src/php-5.3.28/

    [root@localhost php-5.3.28]# ls php.ini*

    php.ini-development  php.ini-production

    (3)拷贝PHP配置文件到PHP默认目录,并更改文件名称为php.ini,命令如下:

    [root@localhost php-5.3.28]# cp php.ini-production /usr/local/php/lib/php.ini

    [root@localhost php-5.3.28]# ls -l /usr/local/php/lib/php.ini

    -rw-r--r--. 1 root root 69627 Jul 14 13:25 /usr/local/php/lib/php.ini

    配置PHPFastCGI方式)的配置文件php-fpm.conf

     [root@localhost php-5.3.28]# cd /usr/local/php/etc/

    [root@localhost etc]# ls

    pear.conf  php-fpm.conf.default

    [root@localhost etc]# cp php-fpm.conf.default php-fpm.conf

    修改它的配置文件   php-fpm.conf   修改他的一个监听端口

     

    修改成本地的IP地址让可以远程访问

     

    启动PHP服务(FastCGI方式)

    (1)启动PHP服务php-fpm,命令如下:

    [root@localhost etc]# /usr/local/php/sbin/php-fpm

    (2)检查PHP服务php-fpm的进程及启动端口的情况,命令如下:几种方式都可以

     

    [root@localhost etc]# ps -ef | grep php-fpm

    [root@localhost etc]# lsof -i:9000  #默认9000端口提供服务

     

    配置Nginx支持PHP程序请求访问

    nginx)修改Nginx配置文件

    (1)查看nginx当前的配置,命令如下:

    [root@localhost etc]# cd /usr/local/nginx/conf/

    [root@localhost conf]# cp nginx.conf nginx.conf.02

    [root@localhost conf]# vim nginx.conf

    在添加一个location

     

    改为自己本地的IP地址

     

    检查并启动Nginx

    可通过如下命令检查Nginx配置文件的语法:

    [root@localhost conf]# /usr/local/nginx/sbin/nginx -t

    nginx: the configuration file /usr/local/nginx-1.10.2//conf/nginx.conf syntax is ok

    nginx: configuration file /usr/local/nginx-1.10.2//conf/nginx.conf test is successful

    [root@localhost conf]# /usr/local/nginx/sbin/nginx -s reload

    此步在生产环境很关键,如不提前检查语法,重启后发现语法错误会导致Nginx无法提供服务,,给用户访问体验带来不好的影响。

    看看有没有在windows上映射     路径如下   改为本机的IP地址

     

     

     

    有一个访问PHP网页报错的问题      特殊的403

     

    Php服务没有创建www目录   需要创建

    Mkdir -p /www

    看看有没有创建www账户

    需要修改它的属主和属组为www账户的来让www账户能访问执行

    Chown -R www.www /www

    在创建一个index.PHP文件,就能访问了

     

    Nginx特殊的403是你想看的内容本地没有,nginx内部的安全机制为了防止你看到它的所以文件就给你拒绝了

    问题原因:

    1. 1.    你要是让他自己来跳转就会出现权限拒绝
    2. 2.    必须在本地有这个文件就不会出现403
    3. 3.    是因为它跳转前先要看自己本地有没有这个文件,才会跳转的,本地有了,就是空的也会跳转
    4. 4.    这就是为什么静态本地要挂存储,PHP也要挂存储俩个需要一致
    5. 5.    存储服务器NFS不是挂在网页目录,是在网页目录的子目录下的类似下图的目录下,网页文件是在网页目录下的

     

    1. 6.     网页文件不需要挂存储

     

    phpPHP访问MySQL

    PHP连接MySQL的情况进行测试

    编辑test_mysql.php,加入如下内容:

    [root@localhost blogcom]# cat test_mysql.php

    <?php

        //$link_id=mysql_connect('主机名','用户','密码');

        $link_id=mysql_connect('localhost','root','123123');

        if($link_id){

            echo "mysql successful by Mr.chen !";

        }else{

            echo mysql_error();

        }

    ?>

    通过脚本来执行

    (MySQL)

    因为设置过只能在本地登陆  所以需要修改一下MySQL的登陆账号权限限制

  • 相关阅读:
    【剑指Offer】21、栈的压入、弹出序列
    【剑指Offer】20、包含min函数的栈
    【剑指Offer】19、顺时针打印矩阵
    【Shell编程】Shell基本语法
    【Shell编程】Shell程序设计
    linux 大中括号变量解读
    Python 二进制,十进制,十六进制转换
    Python3.x和Python2.x的区别
    python通过SSH登陆linux并操作
    PEP8特性
  • 原文地址:https://www.cnblogs.com/lv3322/p/9959633.html
Copyright © 2011-2022 走看看