实战:nginx作为web服务程序提供者条件下安装discuz

一、安装nginx
1.下载nginx源代码,网址为:+1.8源码包: http://nginx.org/download/nginx-1.8.0.tar.gz
2.tar -zxvf nginx-1.8.0.tar.gz   # 解压nginx压缩文件
3.cd nginx-1.4.4  #进入nginx文件内
./configure  --prefix=/usr/local/nginx --with-http_realip_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module  --with-pcre#这个是编译安装nginx4.make#在编译的过程中可能出现,各种包的依赖关系从而导致的错误出现,这个时候我们应该通过yum来安装对应,数序为yum list|grep baoming;  yum install -y baoming+dev格式的包,然后继续编译。# echo $? 这个命令是用来验证上面一次命令执行的是否正常,0为正常,1为不正常。
5.make install#make install 过程一般不会出现错误# echo $? 这个命令是用来验证上面一次命令执行的是否正常,0为正常,1为不正常。
6.编写nginx启动脚本,并加入系统服务vim /etc/init.d/nginx写入如下内容:
#!/bin/bash
# chkconfig: - 30 21
# description: http service.
# Source Function Library
. /etc/init.d/functions
# Nginx Settings

NGINX_SBIN="/usr/local/nginx/sbin/nginx"
NGINX_CONF="/usr/local/nginx/conf/nginx.conf"
NGINX_PID="/usr/local/nginx/logs/nginx.pid"
RETVAL=0
prog="Nginx"

start() {
        echo -n $"Starting $prog: "
        mkdir -p /dev/shm/nginx_temp
        daemon $NGINX_SBIN -c $NGINX_CONF
        RETVAL=$?
        echo
        return $RETVAL
}

stop() {
        echo -n $"Stopping $prog: "
        killproc -p $NGINX_PID $NGINX_SBIN -TERM
        rm -rf /dev/shm/nginx_temp
        RETVAL=$?
        echo
        return $RETVAL
}

reload(){
        echo -n $"Reloading $prog: "
        killproc -p $NGINX_PID $NGINX_SBIN -HUP
        RETVAL=$?
        echo
        return $RETVAL
}

restart(){
        stop
        start
}

configtest(){
    $NGINX_SBIN -c $NGINX_CONF -t
    return 0
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  reload)
        reload
        ;;
  restart)
        restart
        ;;
  configtest)
        configtest
        ;;
  *)
        echo $"Usage: $0 {start|stop|reload|restart|configtest}"
        RETVAL=1
esac

exit $RETVAL

保存后,更改权限:chmod 755 /etc/init.d/nginxchkconfig --add nginx
如果想开机启动,请执行:chkconfig nginx on
更改nginx配置首先把原来的配置文件清空:
> /usr/local/nginx/conf/nginx.conf
“>” 这个符号之前阿铭介绍过,为重定向的意思,单独用它,可以把一个文本文档快速清空。
vim /usr/local/nginx/conf/nginx.conf
写入如下内容:
user nobody nobody;
worker_processes 2;
error_log /usr/local/nginx/logs/nginx_error.log crit;
pid /usr/local/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;

events
{
    use epoll;
    worker_connections 6000;
}

http
{
    include mime.types;
    default_type application/octet-stream;
    server_names_hash_bucket_size 3526;
    server_names_hash_max_size 4096;
    log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'
    '$host "$request_uri" $status'
    '"$http_referer" "$http_user_agent"';
    sendfile on;
    tcp_nopush on;
    keepalive_timeout 30;
    client_header_timeout 3m;
    client_body_timeout 3m;
    send_timeout 3m;
    connection_pool_size 256;
    client_header_buffer_size 1k;
    large_client_header_buffers 8 4k;
    request_pool_size 4k;
    output_buffers 4 32k;
    postpone_output 1460;
    client_max_body_size 10m;
    client_body_buffer_size 256k;
    client_body_temp_path /usr/local/nginx/client_body_temp;
    proxy_temp_path /usr/local/nginx/proxy_temp;
    fastcgi_temp_path /usr/local/nginx/fastcgi_temp;
    fastcgi_intercept_errors on;
    tcp_nodelay on;
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 8k;
    gzip_comp_level 5;
    gzip_http_version 1.1;
    gzip_types text/plain application/x-javascript text/css text/htm application/xml;

server
{
    listen 80;
    server_name localhost;
    index index.html index.htm index.php;
    root /usr/local/nginx/html;

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/tmp/php-fcgi.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
    }

}

}

保存配置后,先检验一下配置文件是否有错误存在:
/usr/local/nginx/sbin/nginx  -t  
如果显示内容如下,则配置正确,否则需要根据错误提示修改配置文件
:nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
启动nginx:service nginx start
如果不能启动,请查看 “/usr/local/nginx/logs/error.log” 文件,检查nginx是否启动:ps aux |grep nginx看是否有进程。
测试是否解析php文件
创建测试文件:vim /usr/local/nginx/html/2.php
内容如下:
<?php    
echo "测试php是否解析";
?>
测试: 
curl localhost/2.php
测试php是否解析
二、安装discuz
1.下载discuz源码包。
地址为:http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zip
2.解压
unzip   Discuz_X3.2_SC_GBK.zip
mv upload/* /data/www
3.初始化论坛系统
修改 /usr/local/nginx/conf/vhost/test.conf 在里面添加如下内容:
server
{
    listen 80;
    server_name 1111.com;
    index index.html index.htm index.php;
    root /data/www;   #这里是discuz论坛文件地址

    location ~ \.php$ {
        include fastcgi_params;
       # fastcgi_pass unix:/tmp/php-fcgi.sock;
        fastcgi_pass 127.0.0.1:9000;  #这里的方式应该与php的监听方式一样的,可以通过netstat -lnp 来查看php监听的端口。
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name;
    }

}

3.网页安装,这里通过网站的提示自助的安装,值得注意的是数据库的用户名是root,密码为空。

时间: 2024-10-29 23:39:17

实战:nginx作为web服务程序提供者条件下安装discuz的相关文章

《高性能Linux服务器构建实战》——1.7节实战Nginx与PHP(FastCGI)的安装、配置与优化

1.7 实战Nginx与PHP(FastCGI)的安装.配置与优化 1.7.1 什么是 FastCGI FastCGI是一个可伸缩地.高速地在HTTP server和动态脚本语言间通信的接口.多数流行的HTTP server都支持FastCGI,包括Apache.Nginx和lighttpd等.同时,FastCGI也被许多脚本语言支持,其中就有PHP. FastCGI是从CGI发展改进而来的.传统CGI接口方式的主要缺点是性能很差,因为每次HTTP服务器遇到动态程序时都需要重新启动脚本解析器来执

实战Nginx与PHP(FastCGI)的安装、配置与优化

 一.什么是 FastCGI FastCGI是一个可伸缩地.高速地在HTTP server和动态脚本语言间通信的接口.多数流行的HTTP server都支持FastCGI,包括Apache.Nginx和lighttpd等,同时,FastCGI也被许多脚本语言所支持,其中就有PHP. FastCGI是从CGI发展改进而来的.传统CGI接口方式的主要缺点是性能很差,因为每次HTTP服务器遇到动态程序时都需要重新启动脚本解析器来执行解析,然后结果被返回给HTTP服务器.这在处理高并发访问时,几乎是不可

WINNT+IIS环境下实现Discuz伪静态

初次在IIS下安装Discuz都未成功.找到Discuz帮助看了一下,在**ix系统下需要把几个目录的权限设置为777.而现在是WIN系统,试了一下把相关目录及config.inc.php设置为user用户组具有写权限,得以安装成功. 后来的Discuz伪静态设置倒是很顺利.依照找到的资料,下载了一个ISAPI Rewrite for IIS的版本,解压出了ISAPI_Rewrite.dll和httpd.ini两个文件.将ISAPI_Rewrite.dll放到一个目录中(假设我是放到了F:\re

Windows下安装与配置Nginx web服务器

前几篇文章,我们使用nginx都是在linux环境下,今天由于工作的需要.需要在windows环境也使用nginx搭建web服务器. 下面记录下有关nginx下的搭建与配置. 注意本次实验使用的windows server 2003 64bit,而且还是在虚拟机中.IP地址为192.168.1.221 首先去官网下载 nginx最新的的Windows版本,如下: http://nginx.org/en/download.html 下载到软件包后,解压 nginx-1.7.6.zip包到你喜欢的根

《Arduino家居安全系统构建实战》——1.4 在当前条件下要为安全系统做的准备

1.4 在当前条件下要为安全系统做的准备 当你选定了安装的地址之后,这里就有许多的因素(甚至要考虑到周边行人)需要你进行考虑,以此来保证系统组件的安全性.完整性以及可靠性. 由于我们的系统能源要依靠于电力的提供,从性能优化和使用成本的角度来看,最好是使用一个独立的电力供应,而不要使用电池.电池的价格较高并且使用寿命又短.另外,在只需要一个连接的配备条件下,你可以将Arduino板和其他的一些模块放入墙体的变电箱中. 如果你的环境中不具备使用电源的条件,或者想要一个后备系统(例如一个UPS[不间断

《高性能Linux服务器构建实战》——1.8节实战Nginx与Perl、Java的安装与配置

1.8 实战Nginx与Perl.Java的安装与配置 通过前面的介绍,可以对Nginx有了一个比较全面的认识:Nginx本身是一个静态的HTTP服务器和反向代理服务器,它不支持动态页面,所谓的Nginx对动态程序的支持都是通过反向代理功能实现的.下面要讲述的Nginx对Perl和JSP的支持,就是通过Nginx的反向代理功能来完成的.Nginx对Perl和JSP的支持在实现细节上可能有一定差别,但是实现原理是完全一样的. Nginx的安装这里不再讲述,假定Nginx的安装路径为/usr/loc

Ubuntu下安装Nginx和Google Pagespeed的教程

  Nginx (engine-x)是一个开源的高性能 HTTP 服务器.反向代理和 IMAP/POP3 代理服务器.nginx 杰出的功能有:稳定.丰富的功能集.简单的配置和低资源消耗.nginx 被用于一些高性能网站并在站长之间变得越来越流行.本教程会从源码构建一个带有 google paespeed 模块的用于 Ubuntu 15.04 的 nginx .deb 安装包. pagespeed 是一个由 google 开发的 web 服务器模块来加速网站响应时间.优化 html 和减少页面加

Mac OS X 下安装Nginx问题详解

  Mac OS X 下安装Nginx问题碰到的朋友不多,因为在mac系统安装nginx环境不实用了,不过有人碰到了我们就一起来看看,说不定对你会有帮助呢. 我是通过brew install nginx的,前面都很顺利, nginx常用命令: nginx -s stop/quit/reopen/reload 用ln -s 命令创建个软件链接于 /usr/sbin/ 下以方便操作. 直接搞个server看看效果,代码如下: server { listen 80; server_name www.g

《PHP和MySQL Web开发从新手到高手(第5版)》一一1.3 在Mac OS X下安装

1.3 在Mac OS X下安装 PHP和MySQL Web开发从新手到高手(第5版) 在本节中,我们将介绍如何在一台运行Mac OS X version 10.5(Leopard)的Mac计算机上开始运行一个安装了PHP和MySQL的Web服务器.如果你使用的并不是Mac计算机,可以跳过本节. Mac OS X将Apache和PHP都作为标准安装组件来安装,它是唯一这么做的面向消费者的OS(实际上,它还附带了Ruby.Python和Perl,所有这些都是流行的Web编程语言).也就是说,只需要