之前一直都是一键搭建的webserver,可是一键搭建的环境相对来说都是比較老的。假设要用比較新的环境,特别是正式server,就必须自己手动编译搭建了(下面搭建基于linux centos6.5 32位server)。

1、 nginx

版本号:1.5

下载地址: http://nginx.org/download/nginx-1.5.2.tar.gz

2、 mysql

版本号5.5

下载地址:http://downloads.mysql.com/archives/mysql-5.0/mysql-5.5.30.tar.gz

3、 php

版本号5.4

下载地址:http://am1.php.net/get/php-5.4.34.tar.gz/from/this/mirror

一:安装nginx

安装一些依赖包:

  1. yum -y install gcc gcc-c++ gcc-devel gcc-c++-devel ssl ssl-devel autoconf make aclocal libtool expat-devel libxml2-devel openssl openssl-devel zlib zlib-devel bzip2 bzip2-devel gd gd-devel libmcrypt libmcrypt-devel libXpm-devel curl-devel libgd-devel gd-devel openldap-devel

进入一个文件夹:

  1. cd /opt/

下载并解压:

  1. wget http://nginx.org/download/nginx-1.5.2.tar.gz
  2. tar -zxf nginx-1.5.2.tar.gz
  3. wget http://labs.frickle.com/files/ngx_cache_purge-2.1.tar.gz
  4. tar -zxf ngx_cache_purge-2.1.tar.gz

进入文件夹并编译:

  1. cd nginx-1.5.2
  2. ./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/usr/local/nginx/log/error.log --http-log-path=/usr/local/nginx/log/access.log --pid-path=/usr/local/nginx/run/nginx.pid --user=www --group=www --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/usr/local/nginx/tmp/client --http-proxy-temp-path=/usr/local/nginx/tmp/proxy/ --http-fastcgi-temp-path=/usr/local/nginx/tmp/fcgi/ --add-module=../ngx_cache_purge-2.1 --with-pcre=../pcre-8.34
  3. make && make install

这样就完毕了nginx的搭建。

执行:/usr/local/nginx/sbin/nginx

报错:nginx: [emerg] getpwnam("www") failed

在nginx.conf中 把user nobody的凝视去掉既可,改成www

再次执行:/usr/local/nginx/sbin/nginx

报错:nginx: [emerg] getpwnam("www") failed in /usr/local/nginx/conf/nginx.conf:1

错误的原因是没有创建www这个用户,应该在server系统中加入www用户组和用户www,例如以下命令:

  1. groupadd -f www
  2. useradd -g www www

第三次执行:/usr/local/nginx/sbin/nginx

报错:nginx: [emerg] mkdir() "/usr/local/nginx/tmp/client" failed (2: No such file or directory)

运行:mkdir -p /usr/local/nginx/tmp/client

然后localhost訪问就能够看到:

习惯了了/etc/init.d/nginx start?认为/usr/local/nginx/sbin/nginx 太长?

Vim /etc/init.d/nginx

  1. #!/bin/bash
  2. #
  3. # Init file for nginx server daemon
  4. #
  5. # chkconfig: 234 99 99
  6. # description: nginx server daemon
  7. #
  8. # source function library
  9. . /etc/rc.d/init.d/functions
  10. # pull in sysconfig settings
  11. [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
  12. RETVAL=0
  13. prog="nginx"
  14. PAT=/usr/local/nginx
  15. NGINXD=/usr/local/nginx/sbin/nginx
  16. PID_FILE=/usr/local/nginx/nginx.pid
  17. start()
  18. {
  19. echo -n $"Starting $prog: "
  20. $NGINXD 2>/dev/null $OPTIONS && success || failure
  21. RETVAL=$?
  22. [ "$RETVAL" = 0 ] && touch /var/lock/subsys/nginx
  23. echo
  24. }
  25. stop()
  26. {
  27. echo -n $"Shutting down $prog: "
  28. killproc nginx
  29. RETVAL=$?
  30. echo
  31. [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/nginx
  32. return $RETVAL
  33. }
  34. reload()
  35. {
  36. echo -n $"Reloading nginx: "
  37. killproc nginx -HUP
  38. RETVAL=$?
  39. echo
  40. return $RETVAL
  41. }
  42. case "$1" in
  43. "start")
  44. start
  45. ;;
  46. "stop")
  47. stop
  48. ;;
  49. "restart")
  50. stop
  51. start
  52. ;;
  53. "reload")
  54. reload
  55. ;;
  56. "status")
  57. status -p $PID_FILE nginx
  58. RETVAL=$?
  59. ;;
  60. *)
  61. echo $"Usage: $0 {start|stop|restart|reload|status}"
  62. RETVAL=1
  63. esac
  64. exit $RETVAL

保存,加入x权限。

如需开机启动:

chkconfig nginx on

很多其它请支持:http://www.webyang.net/Html/web/article_127.html

Linux下php+mysql+nginx编译搭建(一)的更多相关文章

  1. Linux下.Net Core+Nginx环境搭建小白教程

    前言 对于接触.Net Core的我们来说之前从未接触过Linux,出于资源和性能及成本的考虑我们可能要将我们的环境搬到Linux下,这对于我们从未接触过Linux的童鞋们来说很棘手,那么我今天将带你 ...

  2. linux下安装mysql(编译mysql源码)

    编译所需软件地址 http://mysql.mirror.kangaroot.net/Downloads/  -- 下载需要的mysql版本例如mysql-5.5.39.tar.gz    目前还不太 ...

  3. Linux下PHP+MySQL+CoreSeek中文检索引擎配置

    说明: 操作系统:CentOS 5.X 服务器IP地址:192.168.21.127 Web环境:Nginx+PHP+MySQL 站点根目录:/usr/local/nginx/html 目的:安装co ...

  4. centos 6.5下安装mysql+nginx+redmine 3.1.0 笔记

    centos 6.5下安装mysql+nginx+redmine 3.1.0 笔记 目录[-] 过程 1.安装RVM 2.利用rvm安装 Ruby 1.9.3 并设为默认 3.安装rails 4.安装 ...

  5. windows下数据库文件使用脚本同步到linux下的mysql数据库中

    1.背景 windows server 2008 下 每天会有 *.sql数据文件 需要上传到linux 中的mysql数据库中 而运维人员是在 windows server 下使用 xshell 连 ...

  6. Linux下安装mysql教程

    Linux下安装mysql  MySQL官网:https://dev.mysql.com/downloads/mysql/ 到mysql官网下载mysql编译好的二进制安装包,在下载页面Select ...

  7. linux下配置mysql默认编码utf8

    linux下配置mysql默认编码utf8 下面是需要在对应地方加入的配置 [client] default-character-set=utf8 [mysqld] character-set-ser ...

  8. LR通过snmp监控linux下的mysql

    LR通过snmp监控linux下的mysql 在linux底下安装配置snmp: 1.使用系统盘安装rpm包(这种方式最好) 2.在www.net-snmp.org处下载net-snmp安装(安装后有 ...

  9. 在Linux下给mysql创建用户并分配权限及问题解决方案

    在linux下安装mysql请参考在linux系统中安装mysql服务器详细步骤 1.新建用户 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql ...

随机推荐

  1. Bean Validation 技术规范特性概述

    概述 Bean Validation 规范 Bean 是 Java Bean 的缩写.在 Java 分层架构的实际应用中,从表示层到持久化层.每一层都须要对 Java Bean 进行业务符合性验证,如 ...

  2. 更改Calendar背景图(使用系统映像选择器)

    最近提出的申请,主接口是一个历,网上有很多第三方的日历控件,有使用ImageView实现,有使用GridView实现,它的优点是控制的灵活性. 而我选择使用本机CalendarView,关于这个控件, ...

  3. 【翻译】Ext JS最新技巧——2014-10-30

    原文:Top Support Tips Greg Barry:Ext JS 5的ExtraParams Ext JS 4同意用户直接将extraParams加入到一个链接,相似例如以下代码: Ext. ...

  4. T-SQL技巧收集——拆分字符串

    原文:T-SQL技巧收集--拆分字符串 在开发中,很多时候都需要处理拆分字符串的操作.下面收集了几种方法供大家分享,其中的逗号可以改为多种有需要的符号,但是不能针对多种符号同时存在的例子.有待各位补充 ...

  5. SQL Server 内存泄露(memory leak)——游标导致的内存问题

    原文:SQL Server 内存泄露(memory leak)--游标导致的内存问题 转自:http://blogs.msdn.com/b/apgcdsd/archive/2011/07/01/sql ...

  6. 使用JS意识到自己主动提交表单

    今天将需要chat集成到客户的网站上去,注册用户链接登录这个网站后点击实现网站直接登录chat向上.我不停chat原来的登录界面,采纳JS当页面跳转技术,随着时间的推移自己主动填写表格.自己主动提交表 ...

  7. swift学习笔记(七)自己主动引用计数

    与Object-c一样,swift使用自己主动引用计数来跟踪并管理应用使用的内存.当实例不再被使用时,及retainCount=0时,会自己主动释放是理所占用的内存空间. 注:引用计数仅适用于类的实例 ...

  8. POJ--2289--Jamie's Contact Groups【二分图的多个匹配+二分法答案】

    链接:id=2289">http://poj.org/problem?id=2289 意甲冠军:有n个人,m个分组,每一个人能够分配到一些组别.问怎样分能使得人数最多的组别人数最少. ...

  9. hdu 5076 最小割灵活运用

    这意味着更复杂的问题,关键的事实被抽象出来:每个点,能够赋予既有的值(挑两个一.需要选择,设定ai,bi). 寻找所有和最大.有条件:如果两个点同时满足: 1,:二进制只是有一个不同之处.  2:中的 ...

  10. Gallatin(大陆版)Office365中Exchange Online混合部署功能已经能够使用了

    经过測试,Exchange混合部署已经能够使用了 前置条件: 本机至少须要一台Exchange Server 2013作为混合部署server 须要一个公网域名 domian.com,能够和内部域名不 ...