之前一直都是一键搭建的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. 一天JavaScript示例-点击图片显示大图片添加鼠标

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  2. Java常见Exception物种

    Java常见Exception物种 1.ClassNotFoundException 2.IOException 3.NoSuchFieldException 4.NoSuchMethodExcept ...

  3. SharePoint 2010 Form Authentication (SQL) based on existing database

    SharePoint 2010 表单认证,基于现有数据库的用户信息表 本文主要描写叙述本人配置过程中涉及到的步骤,仅作为參考,不要仅限于此步骤. 另外本文通俗易懂,适合大众口味儿. I. 开启并配置基 ...

  4. 非阻塞IOserver型号

    让我们来考虑一个场景,你和百万玩家的魔兽世界的忠实粉丝.时间之旅打每到周末boss. 每当周末比赛server在亚历山大,因为至少在同一时间数十万用户在线. 假设我们的多-threaded果酱serv ...

  5. SQL Server 索引列的顺序——真的没关系吗

    原文:SQL Server 索引列的顺序--真的没关系吗 翻译自:http://www.mssqltips.com/sqlservertip/2718/sql-server-index-column- ...

  6. Linux 介绍了相关的文件夹

    学习Linux,先了解Linux标准的文件夹结构是非常重要的,学习的一个很好的铺垫之后的行动.去罗列大而全的所有文件夹. 本文主要说明.笔者本人接触,须要了解的一些文件文件夹,当然本文也会不断的更新或 ...

  7. CentOS 忘记 root password处理

    在倒计时启动时间,按任意键进入,例如下面的页面 输入 e. 进入这个页面.上下移动至高亮条到中间 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ29yZV ...

  8. 北京设计模式学习组bjdp.org第7次活动(2013.08.04)回顾会纪要

    时间:2013.08.04,9am-7pm 地点:北京龙泉寺(北京凤凰岭风景区内) 参加人数:北京龙泉寺信息中心(20人).北京设计模式学习组(9人) 活动要点: 1)寺院巡礼:义工师兄带领参观寺院. ...

  9. (大数据工程师学习路径)第五步 MySQL参考手册中文版----MySQL数据库管理

    一.MySQL权限管理 账户权限信息被存储在mysql数据库的user.db.host.tables_priv.columns_priv和procs_priv表中. GRANT和REVOKE语句所用的 ...

  10. Java回合阵列List

    package com.mine.practice.arrtolist; import java.util.ArrayList; import java.util.Arrays; import jav ...