zoukankan      html  css  js  c++  java
  • LNMP环境搭建

    LNMP环境搭建

     Linux+nginx+mysql+php/perl/python

     一、安装 gcc(编译) gcc-c++(用于新版本的mysql) make cmake libtool(工具) ncurses-devel
     二、安装nginx
     三、安装Mysql数据库
      1、编译安装Mysql
       tar zxf /usr/src/mysql-
       cd mysql-
       cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql(指定路径) 配置环境,功能相当于./configure
       make && make install 编译安装
      2.配置mysql
       cp support-files/my-default.cnf /etc/my.cnf 生成mysql的主配置文件,命名为/etc/my.cnf
       cd /usr/local/mysql 跳转到mysql默认安装的目录下
       ll 属主属组都是root
       useradd -s /sbin/nologin mysql 创建用户mysql,用于登录mysql数据库
       chown -R mysql.mysql . 更改当前路径下所有文件为属主.属组为mysql
       scripts/mysql_install_db --user=mysql 让mysql用户身份初始化数据库
       chown -R root . 更改属主,限制只有管理员root有权限管理数据库的配置
       chown -R mysql data/ 更改数据文件夹data/属主为mysql,数据库内数据的管理
       /usr/local/mysql/bin/mysqld_safe --user=mysql & 以mysql用户执行开启mysql数据库(后台执行)
       echo "/usr/local/mysql/bin/mysqld_safe --user=mysql &" >> /etc/rc.local
       设置mysql开机启动,将其加入开机第一个脚本
       netstat -tnlp 查看mysql服务是否开启,mysql默认端口号3306
       /usr/local/mysql/bin/mysql -u root -p 以root身份登录mysql数据库服务器
       show databases;显示所有的数据库
       exit退出
     四、安装动态网站相关的库和软件:
       1.tar -xvf jpegsrc…解包
       2.cd jpegsrc 跳转到刚刚解包的路径
      2.编译安装
       ./configure &&make &&make install
       依次安装以下软件包:
       jpegsrc.v8b.tar 图像压缩
       freetpye- 字体引擎,支持多种字体格式文件
       zlib- 函数库
       libpng- png图像文件存储格式
       gd- 支持库
       libxml2- c语言版的解析器
     五、安装PHP解析环境
      较新版本(如5.3)的PHP已经自带FPM(fastCGI process manager,FastCGI进程管理器)模块,用来对PHP解析实例进行管理,优化解析效率,因此在配置PHP编译选项时应添加”–enable-fpm”以启用此模块。为了提高PHP解析效率,建议将相应版本的ZendGuardLander也装上。
      1、解压并配置PHP
       tar zxf php-5.3.6.tar.gz
       cd php-5.3.6
       ./configure --prefix=/usr/local/php --with-gd --with-zlib --with-mysql=/usr/local/mysql --with-config-file=/usr/local/php --with-gd-dir=/usr/lib --with-ttf(连接freetype) --with-zlib-dir --with-jpeg-dir --with-png-dir -enable-mbstring(多字节,字符串的支持) -enable-fpm
       排错:配置如果“configure:error: libpng.(a|so) not found.”错误。
     解决方法:
       根据报错发现是因为libpng.so和libpng.a找不到,检查libpng的相关软件是否已经安装,如果已安装,需要将“/usr/lib64/libpng*”库文件拷贝到“/usr/lib”下。执行如下命令:
       cp -frp /usr/lib64/libpng* /usr/lib
       原因:因为configure一般的搜索编译路径为/usr/lib/下,而x64位的系统默认在“/usr/lib64”下,因此需要拷贝到“/usr/lib”目录下。
       如果报configure: error: libjpeg.(a|so) not found错误解决方法和上面的解决方法类似。
      2、编译安装PHP,并配置安装后的调整
       make && make install
       cp php.ini-development /usr/local/php/etc/php.ini
       ln -s /usr/local/php/bin/* /usr/loacl/bin
       ln -s /usr/local/php/sbin/* /usr/local/sbin
     3、配置Nginx支持PHP环境
       若要让Nginx能够解析PHP网页,有两种方法可以选择;其一,充当中介,将访问PHP页面的WEB请求转交给其他服务器(LAMP)去处理;其二,通过使用PHP的FPM模块来调用本机的PHP环境,在此选择后者。
       PHP-FPM 是 一个 PHP FastCGI 进程管理器 FastCGI是一个可伸缩的,高速地在web server和脚本语言间交互的接口。
       如果选用FPM方式,则需要先启动php-fpm进程,以便监听PHP解析请求。
       建立php-fpm.conf配置文件,并修改其中的PID文件、运行用户、服务数(进程数量)等相关设置,然后启动php-fpm程序即可(默认监听本机的9000端口)
       cd /usr/local/php/etc/
       cp php-fpm.conf.default php-fpm.conf
       启动php-fpm,并查看地址监听。
       /usr/local/php/sbin/php-fpm
       netstat -anpt | grep php-fpm
     4、配置Nginx支持PHP解析
      无论是将PHP页面交给LAMP服务器去解析,还是调用本机的php-fpm进程进行解析,都需要在”server{}”配置段中添加location设置,以便指定当访问.php面页时采取何种操作。
      方法一:转交给其他WEB服务器处理,例如:交给IP地址为192.168.0.200的LAMP服务器处理,从而实现由Nginx负责静态页面,LAMP负责动态页面的分离效果。
      server {
       …… //省略部分信息
       location ~ .php$ { //访问.php页面的配置段
     proxy_pass http://192.168.0.200:80; //APACHE服务器的监听地址
        }
        }
      上面这种写法只是发送以.php为后缀的页面访问请求给其他WEB服务器,如果有其格式的文件访问(如:html、jpg等)就会出问题。访问不了了。

      方法二:调用本机的php-fpm进程,使用的配置语句如下所示。在conf/目录下的fastcgi.conf文件中已经包含必需的宏设置,可通过include语句添加进来。
      server {
      …… //省略部分信息
       location ~ .php$ { //访问php页面的配置段
      root /var/www/wg; //PHP网页文档根目录
      fastcgi_pass 127.0.0.1:9000; //php-fpm的监听地址
      fastcgi_index index.php; //PHP首页文件
      include fastcgi.conf; //包括fastcgi.conf样本配置
       }
       }

     选择第二种方法,完成修改后重新加载nginx服务即可生效。
     Nginx配置文中整个server段的配置内容如下:

     server {
      listen 80;
      server_name www.wg.com;
      location /{
      root /var/www/wg/;
      index index.html index.php;
      }
     location ~ .php$ {
      root /var/www/wg;
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_index index.php;
      include fastcgi.conf;
      }
     }
     service nginx restart
     5、访问测试

  • 相关阅读:
    Mayan游戏 (codevs 1136)题解
    虫食算 (codevs 1064)题解
    靶形数独 (codevs 1174)题解
    黑白棋游戏 (codevs 2743)题解
    神经网络 (codevs 1088) 题解
    The Rotation Game (POJ 2286) 题解
    倒水问题 (codevs 1226) 题解
    银河英雄传说 (codevs 1540) 题解
    生日蛋糕 (codevs 1710) 题解
    第一章 1.11 高阶函数
  • 原文地址:https://www.cnblogs.com/liangml/p/6415690.html
Copyright © 2011-2022 走看看