文档章节

编译安装lnmp

lee_ypp
 lee_ypp
发布于 2014/07/16 11:26
字数 1480
阅读 373
收藏 6

 

1.nginx安装配置

#yum install  -y gcc gcc-c++ make pcre-devel openssl-devel

 

#tar zxf nginx-1.4.2.tar.gz
#cd nginx-1.4.2
#./configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module --with-http_stub_status_module
#make && make install

#vim nginx-1.4.2/src/core/nginx.h
define NGINX-VER    "westos"                   修改版本号,避免被攻击
#vim  nginx-1.4.2/auto/cc/gcc
注释    #CFLAGS="$CFLAGS  -g"                注释debug功能,可以减少编译占用资源

#vim /usr/local/lnmp/nginx/conf/nginx.conf
 woker_processes 2;
   events {
        use epoll;     高效模式
    worker_connections 1024;
    }
创建软链接#ln -s /usr/local/lnmp/nginx/sbin/nginx /usr/local/sbin
启动服务

#nginx

#nginx -t            检查nginx配置是否错误

访问测试页面--http://127.0.0.1  是否报错 
 /usr/local/lnmp/nginx/html     默认发布目录

 

2、mysql支持源码安装

#yum install -y gcc gcc-c++ make ncurses-devel bison openssl-devel zlib-devel cmake

 

下载mysql-5.5.12.tar.gz文件
#tar zxf mysql-5.5.12.tar.gz
#cd mysql-5.5.12
#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql \                #安装目录
-DMYSQL_DATADIR=/usr/local/lnmp/mysql/data \                         #数据库存放目录
-DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock \            #Unix socket 文件路径
-DWITH_MYISAM_STORAGE_ENGINE=1 \                            #安装 myisam 存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \                          #安装 innodb 存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \                           #安装 archive 存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \                         #安装 blackhole 存储引擎
-DWITH_PARTITION_STORAGE_ENGINE=1 \                         #安装数据库分区
-DENABLED_LOCAL_INFILE=1 \                                  #允许从本地导入数据
-DWITH_READLINE=1 \                                         #快捷键功能
-DWITH_SSL=yes \                                            #支持ssl
-DDEFAULT_CHARSET=utf8 \                                    使用 utf8 字符
-DDEFAULT_COLLATION=utf8_general_ci \                       #校验字符
-DEXTRA_CHARSETS=all \                                      #安装所有扩展字符集
-DMYSQL_TCP_PORT=3306 \                                     #MySQL 监听端口
#rm -fr CMakeCache.txt   重新编译时,需要清除旧的对象文件和缓存信息,再进行重新编译
#make && make install

#useradd -M -d /usr/local/lnmp/mysql/data/ -s /sbin/nologin mysql
#cd /usr/local/lnmp/mysql
#chown -R mysql.mysql .
#cd /usr/local/lnmp/mysql/support-files
#cp mysql.server /etc/init.d/mysql
#cp my-medium.cnf /etc/my.cnf
#cd ..
#cd scripts/
#./mysql_install_db --user=mysql --basedir=/usr/local/lnmp/mysql --datadir=/usr/local/lnmp/mysql/data/
#vi ~/.bash_profile
PATH=$PATH:/usr/local/lnmp/mysql/bin
#source ~/.bash_profile 使之生效

#cd /usr/local/lnmp/mysql/
#chown root * -R
#chown -R mysql data/
#service mysql start
 

3、模块构建

#yum install net-snmp-devel curl-devel libxml2-devel libpng-devel libjpeg-devel freetype-devel gmp-devel openldap-devel -y  软件包的依赖性

 

#cd
#tar zxf libiconv-1.13.1.tar.gz 加强系统对支持字符编码转换的功能
#cd libiconv-1.13.1/
#./configure --prefix=/usr/local/lnmp/modules/libiconv/ 
#make && make install

 

#cd
#tar jxf libmcrypt-2.5.8.tar.bz2 mcrypt mhash 是php加密算法扩展库
#cd libmcrypt-2.5.8
#./configure --prefix=/usr/local/lnmp/modules/libmcrypt/ 
#make && make install
#cd libltdl
#./configure --libdir=/usr/local/lnmp/modules/libmcrypt --enable-ltdl-install
#make && make install

 

 

#cd
#tar jxf mhash-0.9.9.9.tar.bz2
#cd mhash-0.9.9.9
#./configure --prefix=/usr/local/lnmp/modules/mhsh/ 
#make && make install

创建软链接

 

ln -s /usr/local/lnmp/modules/libmcrypt/include/* /usr/local/

ln -s /usr/local/lnmp/modules/libmcrypt/lib/* /usr/local/lib/

ln -s /usr/local/lnmp/modules/mhash/lib/* /usr/local/lib /

ln -s /usr/local/lnmp/modules/mhash/include/* /usr/local/include/ 

#vi /etc/ld.so.conf
/usr/local/lnmp/modules/limbcrypt/lib/
/usr/local/lnmp/modules/mhash/lib/
/usr/local/lib

#ldconfig /usr/local/lnmp/modules    重新加载模块(这一步很重要哦!!)

 

#cd
#tar zxvf mcrypt-2.6.8.tar.gz
#cd mcrypt-2.6.8/
#./configure --prefix=/usr/local/lnmp/modules/mcrypt/ --with-libmcrypt-perfix=/usr/local/lnmp/modules/libmcrypt/ --with-libmhash-perfix=/usr/local/lnmp/modules/mhash/
#make && make install

4.php搭建
(1)php基本配置

#yum install net-snmp-devel curl-devel libxml2-devel libpng-devel libjpeg-devel freetype-devel gmp-devel

#useradd -M -d /usr/local/lnmp/nginx -s /sbin/nologin nginx

#vi /etc/ld.so.conf
/usr/local/lnmp/modules/libiconv/lib/(保留之前添加的)
#ldconfig /usr/local/lnmp/modules/libiconv/lib/

 

#tar jxf php-5.4.12.tar.bz2
#cd php-5.4.12
#./configure --prefix=/usr/local/lnmp/php 
--with-config-file-path=/usr/local/lnmp/etc 
--with-mysql=/usr/local/lnmp/mysql/ 
--with-openssl 
--with-snmp 
--with-gd
--with-zlib --with-curl --with-libxml-dir --with-png-dir 
--with-jpeg-dir --with-freetype-dir --with-pear --with-gettext 
--with-gmp --enable-inline-optimization --enable-soap --enable-ftp 
--enable-sockets --enable-mbstring 
--with-mysqli=/usr/local/lnmp/mysql/bin/mysql_config --enable-fpm 
--with-fpm-user=nginx 
--with-fpm-group=nginx--with-mhash=/usr/local/lnmp/modules/mhash/ 
--with-mcrypt=/usr/local/lnmp/modules/libmcrypt  
#make ZEND_EXTRA_LIBS='-liconv'
#make install

#cd php-5.4.12
#cp php.ini-production /usr/local/lnmp/php/etc/php.ini
#cd php-5.4.12/sapi/fpm
#cp init.d.php-fpm /etc/init.d/php-fpm
#chmod +x /etc/init.d/php-fpm
#cd /usr/local/lnmp/php/etc/
#vi php.ini
cgi.fix_pathinfo=0     #防止 Nginx 文件类型错误解析漏洞
extension=mysql.so
#cd /usr/local/lnmp/php/etc
#cp php-fpm.conf.default php-fpm.conf
#vi php-fpm.conf #去掉以下几行的注释
pid = run/php-fpm.pid
pm.max_children = 50
pm.start_servers = 20
#在生产环境中一定要做压力测试,找到最合适的进程数组合
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
#service php-fpm start
#chkconfig php-fpm on
#vi ~/.bash_profile
PATH=$PATH:/usr/local/lnmp/mysql/bin:/usr/local/lnmp/php/bin
#source ~/.bash_profile
#cd /usr/local/lnmp/nginx/conf
#vi nginx.conf
user  nginx;
location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi.conf;
        }
#nginx -t
#nginx -s reload
#cd /usr/local/lnmp/nginx/html
#vi index.html
<?
phpinfo()
?>
#这是通过firefox访问192.168.0.133(本机ip)就会有php功能模块的拓展
wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
wget http://bart.eaccelerator.net/source/0.9.6/eaccelerator-0.9.6.tar.bz2
wget http://pecl.php.net/get/memcache-2.2.5.tgz
Memcache 是 danga.com 的一个开源项目,它是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的 Hash 表,能够用来存储各种格式的数据。可以类比于 MySQL 这样的服务,而 PHP 扩展的 Memcache 实际上是连接 Memcache 的方式。
#yum install libevent libevent-devel autoconf -y

 

#tar zxf memcache-2.2.5.tgz
#cd memcache-2.2.5
#phpize#./configure --with-php-config=/usr/local/lnmp/php/bin/php-config --enable-memcache
#make && make install

#cd /usr/local/lnmp/php/etc
#vim php.ini
extension=memcache.so
#service php-fpm reload
这是通过网页访问192.168.0.~(自己ip)/index.php就有memcache模块
#cd memcache-2.2.5
#cp memcache.php /usr/local/nginx/html
#vi /usr/local/nginx/html/memcache.php
define('ADMIN_USERNAME','admin');// Admin Username
define('ADMIN_PASSWORD','westos'); // Admin Password
$MEMCACHE_SERVERS[] = '192.168.0.25:11211'; // add more as an array
访问 website: http://192.168.0.~/memcache.php可以通过身份密码登录
#vi /usr/local/nginx/html/test.php
<?php
$memcache = new Memcache;
$memcache->connect('127.0.0.1', 11211) or die ("Could not connect");
$version = $memcache->getVersion();
echo "Server's version: ".$version."\n";
$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;
$memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the
server");
echo "Store data in the cache (data will expire in 10 seconds)\n";
$get_result = $memcache->get('key');
echo "Data from the cache:\n";
var_dump($get_result);
?>

5、Discuz论坛搭建
#tar zxf Discuz_x2.5_sc_uft8.zip
#yum install -y unzip

# unzip Discuz_x2.5_sc_uft8.zip

#mv /upload /usr/local/lnmp/nginx/html/bbs
#cd /usr/local/lnmp/nginx/conf
#vi nginx.conf
#access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.php index.html index.htm;
        }

        #error_page  404              /404.html;

#nginx -t
#nginx -s reload
解决不可写问题
#cd /usr/local/lnmp/nginx/html/bbs
#chmod 777 config/
#chmod 777 data/
#chmod 777 data/ -R
#chmod 777 uc_* -R
mysql支持
#cd /root/php-5.4.12/ext/mysql
#phpize
# ./configure --with-php-config=/usr/local/lnmp/php/bin/php-config --with-mysql=/usr/local/lnmp/mysql/ --with-mysql-sock=/usr/local/lnmp/mysql/data/mysql.sock
#make && make install
这时登录192.168.0.133/bbs/install,按步骤进行创建数据库,创建成功后
登录数据库#mysql -pwestos
>show databases;
>use discuz
>show tables;就有discuz的数据库
#cd /usr/local/lnmp/nginx/html/bbs
#chmod 755 .
#chown nginx . -R

                                      ——leeypp@foxmail.com

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
lee_ypp
粉丝 64
博文 45
码字总数 58692
作品 0
程序员
私信 提问
拓展版的LNMP安装包(适合批量部署)

最近的一个任务是写个一键安装LNMP的脚本,运行的平台是Ubuntu12.04,命令那些跟之前的RHEL和Centos 有一点点区别,这里做个记录。 #!/bin/bash Configuration Arguments workpath="/usr/loc...

10730
06/29
0
0
nginx php动态编译加载模块.

#Nginx动态编译加载模块步骤 #查看目前Nginx版本及编译模块 #[root@centos7 ~]# /opt/app/lnmp/nginx-1.12.0/sbin/nginx -V #nginx version: nginx/1.12.0 #built by gcc 4.8.5 20150623 (R......

一招拜师
2017/07/12
0
0
CentOS6安装配置PHP5.6(LNMP环境)

0.安装的环境说明 本次安装的php的图解如下,Nginx和php在同一个服务器上,MySQL单独一个服务器。前面已经说了如何去搭建Nginx服务,如何配置虚拟主机,MySQL也在之前的博文说到安装。以后再...

10pcm
06/26
0
0
lnmp平台的简单基础搭建

一、mysql的安装: 1. get mysql-boost-5.7.17.tar.gz (from 老吴) 使用mysql-boost-5.7.17.tar.gz时,查看df -h,物理空间应该大于10G tar zxf mysql-boost-5.7.17.tar.gz##解压mysql,会......

AELY木
2017/07/23
0
0
LNMP环境搭建

LNMP环境搭建 OS: CentOS6.7_x64 IP:192.168.1.101 软件列表: nginx-1.10.0.tar.gz php-5.5.35.tar.gz mysql-5.5.50.tar.gz libiconv-1.14.tar.gz wordpress-4.5.2-zh_CN.tar.gz 软件下载目......

myexam
2016/07/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

云环境所面临的安全威胁

导读 为了云计算的健康发展和等级保护工作在新形势下顺利推进,就不能忽视对云计算面临的各类安全威胁的研究和分析,并制定和建立相应的等级保护政策、技术体系,应对即将到来的云浪潮。 为了...

问题终结者
22分钟前
0
0
大牛五分钟教你如何创建并运行java线程

Java线程类也是一个object类,它的实例都继承自java.lang.Thread或其子类。 可以用如下方式用java中创建一个线程: 执行该线程可以调用该线程的start()方法: 在上面的例子中,我们并没有为线程...

java知识分子
23分钟前
0
0
监控某进程工作状态的脚本

很多时候,我们需要监控某个脚本是否正在执行,如果不在执行,则需将它重启。 思路: 监测脚本或进程的执行状态,可以通过ps -ef,再加上grep命令进行定位。 如果该进程在执行,则上述命令会...

vinci321
24分钟前
0
0
彻底弃用PHP转入Kotlin阵营

痛定思痛,决定彻底弃用PHP,转入Kotlin,采用Ktor方案。Kotlin从去年年底到现在,我都一直保持关注,这一年下来,从1.0升级到1.3,增加了很多特性和支持。其实,只要是JetBrains扶持着的,想...

曾建凯
28分钟前
0
0
php动态扩展模块安装

11月21日任务 11.32 php扩展模块装安装 1.PHP扩展模块安装 示例一:编译安装一个扩展模块 /usr/local/php/bin/php -m //查看模块 下面安装一个redis的模块 cd /usr/local/src/ 进入该目录下 ...

hhpuppy
33分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部