Linux下php+mysql+nginx编译搭建(一)
来源:互联网 发布:java iterator用法 编辑:程序博客网 时间:2024/06/04 18:22
之前一直都是一键搭建的web服务器,但是一键搭建的环境相对来说都是比较老的。如果要用比较新的环境,特别是正式服务器,就必须自己手动编译搭建了(以下搭建基于linux centos6.5 32位服务器)。
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这个用户,应该在服务器系统中添加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
更多请支持:http://www.webyang.net/Html/web/article_127.html
- Linux下php+mysql+nginx编译搭建(一)
- Linux下php+mysql+nginx编译搭建(二)
- Linux下php+mysql+nginx编译搭建(三)
- linux下nginx+php+mysql环境搭建
- linux下nginx+php+mysql环境搭建
- linux下nginx+php+mysql环境搭建
- Ubuntu下搭建Linux+Nginx+MySQL+PHP
- linux下nginx+php+mysql环境搭建
- linux 下nginx+mysql+php环境搭建
- centos 下lnmp(linux+nginx+mysql+php)环境搭建
- Linux下Nginx+PHP+Mysql环境搭建过程(图文)
- 源码编译安装,搭建LNMP环境(Linux+Nginx+MySQL+PHP)
- linux下源码搭建php环境之mysql(一)
- 搭建 linux+nginx+mysql+php
- linux搭建nginx+php+mysql
- Linux下Nginx+PHP+Mysql环境搭建过程
- Centos下搭建LNMP(Linux+MySQL+nginx+PHP)
- linux下php+nginx+mysql网站开发环境搭建
- hdu 1824 2-sat问题(判断)
- CGLib动态代理原理及实现
- nyoj106背包问题(贪心)
- C语言的那些秘密之---函数返回局部变量
- Quartz 2D的简单使用
- Linux下php+mysql+nginx编译搭建(一)
- 2014青岛理工大学ACM邀请赛总结
- Servet Filter Listener 详解
- 2014-11-8Android学习-------AnimationListener方法-------动画Animation学习篇
- Linux stat函数讲解:
- POJ 2420 A Star not a Tree? (模拟退火)
- 《unix高级环境编程》信号——sigsuspend 函数
- 爱的送大炮打破爱动啊堤坡阿斯顿破安排都I啊
- Android中的context