Linux下php+mysql+nginx编译搭建(一)
之前一直都是一键搭建的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
安装一些依赖包:
- 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
进入一个文件夹:
- cd /opt/
下载并解压:
- wget http://nginx.org/download/nginx-1.5.2.tar.gz
- tar -zxf nginx-1.5.2.tar.gz
- wget http://labs.frickle.com/files/ngx_cache_purge-2.1.tar.gz
- tar -zxf ngx_cache_purge-2.1.tar.gz
进入文件夹并编译:
- cd nginx-1.5.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
- 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,例如以下命令:
- groupadd -f www
- 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
- #!/bin/bash
- #
- # Init file for nginx server daemon
- #
- # chkconfig: 234 99 99
- # description: nginx server daemon
- #
- # source function library
- . /etc/rc.d/init.d/functions
- # pull in sysconfig settings
- [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
- RETVAL=0
- prog="nginx"
- PAT=/usr/local/nginx
- NGINXD=/usr/local/nginx/sbin/nginx
- PID_FILE=/usr/local/nginx/nginx.pid
- start()
- {
- echo -n $"Starting $prog: "
- $NGINXD 2>/dev/null $OPTIONS && success || failure
- RETVAL=$?
- [ "$RETVAL" = 0 ] && touch /var/lock/subsys/nginx
- echo
- }
- stop()
- {
- echo -n $"Shutting down $prog: "
- killproc nginx
- RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/nginx
- return $RETVAL
- }
- reload()
- {
- echo -n $"Reloading nginx: "
- killproc nginx -HUP
- RETVAL=$?
- echo
- return $RETVAL
- }
- case "$1" in
- "start")
- start
- ;;
- "stop")
- stop
- ;;
- "restart")
- stop
- start
- ;;
- "reload")
- reload
- ;;
- "status")
- status -p $PID_FILE nginx
- RETVAL=$?
- ;;
- *)
- echo $"Usage: $0 {start|stop|restart|reload|status}"
- RETVAL=1
- esac
- exit $RETVAL
保存,加入x权限。
如需开机启动:
chkconfig nginx on
Linux下php+mysql+nginx编译搭建(一)的更多相关文章
- Linux下.Net Core+Nginx环境搭建小白教程
前言 对于接触.Net Core的我们来说之前从未接触过Linux,出于资源和性能及成本的考虑我们可能要将我们的环境搬到Linux下,这对于我们从未接触过Linux的童鞋们来说很棘手,那么我今天将带你 ...
- linux下安装mysql(编译mysql源码)
编译所需软件地址 http://mysql.mirror.kangaroot.net/Downloads/ -- 下载需要的mysql版本例如mysql-5.5.39.tar.gz 目前还不太 ...
- Linux下PHP+MySQL+CoreSeek中文检索引擎配置
说明: 操作系统:CentOS 5.X 服务器IP地址:192.168.21.127 Web环境:Nginx+PHP+MySQL 站点根目录:/usr/local/nginx/html 目的:安装co ...
- 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.安装 ...
- windows下数据库文件使用脚本同步到linux下的mysql数据库中
1.背景 windows server 2008 下 每天会有 *.sql数据文件 需要上传到linux 中的mysql数据库中 而运维人员是在 windows server 下使用 xshell 连 ...
- Linux下安装mysql教程
Linux下安装mysql MySQL官网:https://dev.mysql.com/downloads/mysql/ 到mysql官网下载mysql编译好的二进制安装包,在下载页面Select ...
- linux下配置mysql默认编码utf8
linux下配置mysql默认编码utf8 下面是需要在对应地方加入的配置 [client] default-character-set=utf8 [mysqld] character-set-ser ...
- LR通过snmp监控linux下的mysql
LR通过snmp监控linux下的mysql 在linux底下安装配置snmp: 1.使用系统盘安装rpm包(这种方式最好) 2.在www.net-snmp.org处下载net-snmp安装(安装后有 ...
- 在Linux下给mysql创建用户并分配权限及问题解决方案
在linux下安装mysql请参考在linux系统中安装mysql服务器详细步骤 1.新建用户 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql ...
随机推荐
- C/C++综合測试题(三)
又刷了一套题 这些题都是百度.阿里巴巴.腾讯.网易.新浪等公司的面试原题,有一定的难度.只是确实相当有水平,能够通过做题来查漏补缺. 1.补充以下函数代码: 假设两段内存重叠,用memcpy函数可能会 ...
- kettle 4.4源代码分析Transformation
1.1. 相关的类和接口 1.1.1. JobEntryTrans 实现了JobEntryInterface的execute()方法,被job运行.由JobEntryTrans实例化Trans,并运行 ...
- 嵌入在网页上Flash媒体播放器(1)
做的项目,在不久的将来相关的Flash玩家使用,需要播放视频的网页上,不同的视频资源,需要不同的球员.基于使用稳定性.的嵌入式和嵌入式复杂性能的优点概括起来有两种方式(不同的玩家),视频资源也略有不同 ...
- linux下getsockopt和setsockopt具体解释及測试
linux下getsockopt和setsockopt具体解释及測试 NAME 名字 getsockopt, setsockopt - get and set options on sockets 获 ...
- C指针决心 ------ 指针表达式
本文是自己学习所做笔记.欢迎转载.但请注明出处:http://blog.csdn.net/jesson20121020 所谓的指针表达式是指一个表达式.其结果是一个指针. 例1. int a,b; ...
- BP简单的理解神经网络
先用3类样本训练,在測试.. 刚開始学习的人有错的 地方,,请大家多多指导.. 一些好的博客: http://blog.csdn.net/starxu85/article/details/314353 ...
- 一个关于Linux Bridge配置的吐嘈
话说有些事情十分适合在放假前的一天折腾一天,但绝对不适合在你准备去吃饭前多看一眼...我上周就碰到了这么一件揪心的事,终于以低血糖收场.十分狼狈地四处觅食,却觅到了一包超级辣的鸡爪.吃完后感觉症状加重 ...
- SSH-Struts(三)—ActionForm
ActionForm ActionForm用于封装用户的请求数据.即用户在页面上输入的数据.它充当了一个运输工具的角色.为了能够立体的理解ActionFrom.以下从两个角度看看: 从封装的数 ...
- JavaEE(12) - JPA规范及实现(TopLink和Hibernate)
1. JPA规范与ORM框架之间的联系 JPA规范并不属于EJB3规范,它是一套完全独立的规范,不仅可以在基于EJB的JavaEE应用程序中使用,而且完全可以在普通JavaSE应用程序中使用. JPA ...
- Java Main如何被执行?(转)
java应用程序的启动在/hotspot/src/share/tools/launcher/java.c的main()函数中,而在虚拟机初始化过程中,将创建并启动Java的Main线程.最后将调用JN ...