Linux (centos )下Nginx+PHP+MySQL配置——自己的lnmp配置
说明:所有软件都是从官网上下载最新版的stable版本
###################
#
# 获取最新源码包
#
#####################
#建立独立的webserver
#mkdir -pv /usr/local/webserver
#放置源码包的目录
#mkdir -pv /usr/local/webserver/src
#cd /usr/local/webserver/src
## php源代码
#wget http://www.php.net/get/php-5.3.4.tar.bz2/from/tw2.php.net/mirror
##php加速器
#wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2
##memcache客户端
#wget http://pecl.php.net/get/memcache-3.0.5.tgz
##memcached服务器端
#wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
## mysql数据库
#wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.48.tar.gz/from/http://mysql.cdpa.nsysu.edu.tw/
## nginx 最新稳定版
#wget http://www.nginx.org/download/nginx-0.8.54.tar.gz
#下载php-fpm,一个简单健壮的php FastCGI管理工具。这里对应的是php-5.3.X。官网推荐使用svn方式提取
#tar jxvf php-5.3.4.tar.bz2
#cd php-5.3.
#svn co http://svn.php.net/repository/php/php-src/branches/PHP_5_3/sapi/fpm sapi/fpm
(后注:php-5.3.5开始已经集成了fpm,不必再次co)
#查看fpm是否已经检出
#ls sapi/fpm
######################
#
# 安装
#
######################
## 安装mysql 5.5
安装依赖包
依赖的软件类库:
gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*
#安装gccyum -y install gcc*
#安装cmakeyum install -y cmake.x86_64
#安装bisonyum install -y bison.x86_64 bison-devel.x86_64
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql5.5.23 \-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_MEMORY_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DENABLED_LOCAL_INFILE=1 \-DMYSQL_DATADIR=/data/mysql/3306 \-DMYSQL_USER=mysql \-DMYSQL_TCP_PORT=3306
## 安装php
##安装php的时候可能很多组件都会缺失,可以直接用yum安装这些缺失的组件
yum install gd gd-devel.x86_64
yum install libjpeg libjpeg-devel
yum install -y libxml2-devel.x86_64 xml2
yum install -y openssl openssl-devel
yum install libmcrypt-devel.x86_64 libmcrypt.x86_64 curl-devel.x86_64 curl.x86_64
# ./configure –prefix=/usr/local/webserver/php –with-config-file-path=/usr/local/webserver/php/etc –with-gd –with-mysql=/usr/local/webserver/mysql –enable-mbstring –with-curl –with-mcrypt –with-zlib –with-mhash –enable-fpm –enable-pcntl –enable-sysvsem –enable-shmop –with-jpeg-dir=/usr –with-iconv-dir=/usr/local
#make
#make install
注意:若编译的时候出现 iconv.c:1017: undefined reference to `libiconv_open’可以采取下列措施:
【我的方法】
NOTE: For centos >= 5.4 iconv-devel is provided by glibc
libiconv包含在glibc里,所以安装glic类库即可
#yum install -y glibc-devel.x86_64
【网上的方法】
解决方法:
#wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
#tar -zxvf libiconv-1.13.1.tar.gz
#cd libiconv-1.13.1
# ./configure –prefix=/usr/local/libiconv
# make
# make install
再在php configure的时候添加 –with-iconv=/usr/local/libiconv
据说还有以下两种办法(没有试过):
A: 編輯 Makefile 大約 77 行左右的地方:
EXTRA_LIBS = ….. -lcrypt
在最後加上 -liconv,例如:
EXTRA_LIBS = ….. -lcrypt -liconv
再运行make就可以了。
B: #make ZEND_EXTRA_LIBS=’-liconv’
#make install
安装memcache 客户端
具体安装详细参见: http://www.php.net/manual/en/memcache.installation.php
#tar zxvf memcache-3.0.5.tgz
#cd memcache-3.0.5/
#/usr/local/webserver/php/bin/phpize
#./configure –with-php-config=/usr/local/webserver/php/bin/php-config
#生成 /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/memcach.so
#make && make install
安装memcached 服务器端
#tar zxvf
# ./configure –prefix=/usr/local/webserver/memcached
#make && make install
#启动memcached
#/usr/local/webserver/memcached -d -m 256 -u root
安装ea
#cd /usr/local/webserver/src/eaccelerator-0.9.6.1
#/usr/local/webserver/php/bin/phpize #### 使用生成configure文件
# ./configure –enable-eaccelerator=shared –with-php-config=/usr/local/webserver/php/bin/php-config
#生成 /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/eaccelerator.so
安装nginx
# nginx需要pcre库
#yum install pcre-devel
# 对https需要 安装ssl
#yum install openssl openssl-devel
#cd nginx-0.8.54
#./configure
#make
#make install
配置
server {
listen 80;
server_name www.abc.com;
charset utf-8;
access_log logs/host.access.log main;
location / {
root /home/nginx;
index index.html index.htm index.php;
index index.php;
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}
error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/nginx/$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache’s document root
# concurs with nginx’s one
#
location ~ /\.ht {
deny all;
}
}
######################################
Linux (centos )下Nginx+PHP+MySQL配置——自己的lnmp配置的更多相关文章
- CentOS下nginx php mysql 环境搭建
CentOS下搭建PHP运行环境. 首先是在虚拟机上装好一个命令行的CentOS,如果只是弄服务器的话,不要装图形界面,会比较卡. 一.安装编译工具及库文件 yum -y install make z ...
- Linux CentOS下如何确认MySQL服务已经启动
Linux CentOS一般做为服务器使用,因此,MySQL服务应该随开机自动启动的.正常情况下,查看开机自动启动的服务使用chkconfig命令,如下: #chkconfig --list 实际使用 ...
- Mac 下 Nginx、MySQL、PHP-FPM 的安装配置
用了3年多的本本罢工,最近新入手了一台 rmbp,一堆工作环境要配置,LNMP 里的 NMP 是常规要安装的,恰好也是第一次在 mac 上安装配置 nginx.mysql.php,所以顺便做个记录,免 ...
- linux/centos下安装nginx(rpm安装和源码安装)详细步骤
Centos下安装nginx rpm包 ...
- linux下nginx+php+mysql 自助环境搭建
++++++++++++++++++++++++++++++++++++++++++++++linux下nginx+php+mysql环境搭建+++++++++++++++++++++++++++++ ...
- linux下nginx结合keepalived实现主从切换的配置
linux下nginx结合keepalived实现主从切换的配置 解决方法: 实现一个主nginx宕机,请求转到另一个nginx中. 1.确保两台nginx已启动,假如端口分别是192.168.0 ...
- Linux Centos下查看cpu、磁盘、内存使用情况,关闭MySQL日志
Linux Centos下查看cpu.磁盘.内存使用情况,关闭MySQL日志 lsblk 查看分区和磁盘df -h 查看空间使用情况fdisk -l 分区工具查看分区信息cfdisk /dev/sda ...
- linux系统下nginx安装目录和nginx.conf配置文件目录
linux系统下nginx安装目录和nginx.conf配置文件目录 1.查看nginx安装目录 输入命令 # ps -ef | grep nginx 返回结果包含安装目录 root 26 ...
- Nginx - Windows下Nginx初入门,附CentOS下Nginx的安装
公司刚使用nginx,预先学习下.鉴于机器没有Linux环境,在Windows熟悉下. 下载 目前(2015-07-11),nginx的稳定版本是1.8.0,在官网下载先,windows版的nginx ...
随机推荐
- C#获取全部目录和文件
public class FileAccess{ //储存所有文件夹名 private ArrayList dirs; public FileAccess() { dirs = new ArrayLi ...
- Jquery想说爱你不容易
JQuery是一套跨浏览器的JavaScript库,简化HTML与JavaScript之间的操作.由John Resig在2006年1月的BarCamp NYC上发布第一个版本.目前是由 Dave M ...
- 为什么.Net要求序列化的类必须有一个无参数的构造函数
刚才用xml序列化器,序列化一个类,结果报错说序列化的类必须带有一个无参的构造函数,好奇怪啊.为什么要有这么苛刻的条件,而且xml序列化还要求序列化的成员是public. 我以前一直觉得序列化器是一个 ...
- 关于app的具体实施
鉴于我们小组做的app是关于在线做题和游戏相融合的,所以,我会先学习UI设计,毕竟好的UI设计不仅会给用户耳目一新的体验,同时还会让用户愿意去包容一些小BUG,但如果你的软件做的非常好,功能提供的很全 ...
- 解决OS X系统连接VPN后无法访问内网资源的问题
该问题是第一次使用OS X系统连接VPN遇到的问题,现象是连接VPN成功,但无法访问公司的内网资源. 主要原因还是VPN设置上的问题,在系统偏好设置中打开VPN连接,里面有个高级设置,如图: 点击高级 ...
- Go语言开发环境配置
一.我为什么要学习go语言 当今已经是移动和云计算时代,Go出现在了工业向云计算转型的时刻,简单.高效.内 置并发原语和现代的标准库让Go语言尤其适合云端软件开发(毕竟它就是为此而设计的).到2014 ...
- Android按钮的各个样式设置
安卓开发学习之014 Button应用详解(样式.背景.按钮单击.长按.双击.多击事件) 一.Button简介 按钮也是继承自TextView 二.XML定义方法 <Button android ...
- RASPBERRY PI 外设学习资源
参考: http://www.siongboon.com/projects/2013-07-08_raspberry_pi/index.html Raspberry Pi Get st ...
- android中添加背景音乐
方法一:这是使用java中的多线程,另外new出一个类,用类来启动音乐. 这个方法,就像当初写java的小游戏一样,不过是在电脑上运行的,可以控制每一个动作,比如你的触碰动作,但是,在我这个游戏中,我 ...
- 百度地图结合echarts并添加行政区块
作者:LJaer链接:https://www.zhihu.com/question/49251513/answer/125728764来源:知乎<!DOCTYPE html> <ht ...