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、访问测试

  • 相关阅读:
    androd Eclipse Ant 批量打包
    Eclipse中不显示Ant,如何操作
    android Eclipse 多渠道打包
    Android 关于tools
    (转)android studio 使用的主要操作
    Android的NDK开发步骤
    AnimatorSet中before与after的理解
    (转)Android webview 调用相机和照片库 实现文件的上传
    混淆的小记录
    Xamarin.Forms on WPF (Win7)
  • 原文地址:https://www.cnblogs.com/liangml/p/6415690.html
Copyright © 2011-2022 走看看