通过Nginx来安装一个discuz,软件并不是编译安装的

这次由于时间有限,所以我就没有用编译安装来启动LMP,只有Nginx 是编译安装的
因为是在centos7上面安装的Nginx所以我们这里由于能力有限,暂时不能将其加入开机启动,日后我会进行改进,将其加入开机启动。这里我们给出Nginxd的编译选项及环境

 

yum groupinstall "Development Tools" "Server Platform Deveopment";
 yum install openssl-devel pcre-devel;
 groupadd -r nginx;
 useradd -r -g nginx nginx;

 ./configure \
  --prefix=/usr \
  --sbin-path=/usr/sbin/nginx \
  --conf-path=/etc/nginx/nginx.conf \
  --error-log-path=/var/log/nginx/error.log \
  --http-log-path=/var/log/nginx/access.log \
  --pid-path=/var/run/nginx/nginx.pid  \
  --lock-path=/var/lock/nginx.lock \
  --user=nginx \
  --group=nginx \
  --with-http_ssl_module \
  --with-http_flv_module \
  --with-http_stub_status_module \
  --with-http_gzip_static_module \
  --http-client-body-temp-path=/var/tmp/nginx/client/ \
  --http-proxy-temp-path=/var/tmp/nginx/proxy/ \
  --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
  --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \
  --http-scgi-temp-path=/var/tmp/nginx/scgi \
  --with-pcre    | tee /tmp/nginx.out            -->重定向至文件;
    make && make install;

  

二、配置Nginx vi /etc/nginx/nginx.conf

Nginx的代码是由一个核心和一系列的模块组成, 核心主要用于提供Web Server的基本功能,以及Web和Mail反向代理的功能;还用于启用网络协议,创建必要的运行时环境以及确保不同的模块之间平滑地进行交互。不过,大多跟协议相关的功能和某应用特有的功能都是由nginx的模块实现的。这些功能模块大致可以分为事件模块、阶段性处理器、输出过滤器、变量处理器、协议、upstream和负载均衡几个类别,这些共同组成了nginx的http功能。事件模块主要用于提供OS独立的(不同操作系统的事件机制有所不同)事件通知机制如kqueue或epoll等。协议模块则负责实现nginx通过http、tls/ssl、smtp、pop3以及imap与对应的客户端建立会话。

Nginx的核心模块为Main和Events,此外还包括标准HTTP模块、可选HTTP模块和邮件模块,其还可以支持诸多第三方模块。Main用于配置错误日志、进程及权限等相关的参数,Events用于配置IO模型,如epoll、kqueue、select或poll等,它们是必备模块。

Nginx的主配置文件由几个段组成,这个段通常也被称为nginx的上下文,每个段的定义格式如下所示。需要注意的是,其每一个指令都必须使用分号(;)结束,否则为语法错误。
#main  配置段,无需加什么方括号,这里表明是其他几个盘配置段的公用的配置,当然其他的配置段也可以自己在配置里重新定义;这样就叫做上下文#定义用户和用户组;user  nginx nginx ;#优化性能配置!!!与cpu相对,一般是cpu数量-1worker_processes  2;
worker_cpu_affinity  01 10;#用于实现cpu绑定即无需切换上下文,优化系统性能;#error_log  logs/error.log;#error_log  logs/error.log  notice;error_log  logs/error.log  info;


pid /var/run/nginx/nginx.pid;#要想禁用error-log则需使用如下命令;#error_log /dev/null crit;#此处为调试功能,暂不开启;#error_log LOGFILE [debug_core | debug_alloc | debug_mutex | debug_event | debug_http | debug_imap];#优化性能的配置,这里好像只能配置时间;timer_resolution 100ms;#每个进程能打开的最大的句柄数,优化性能的配置worker_rlimit_nofile 200;#每个用户能发向进程的信号数量,这也是性能优化的一部分;貌似会有问题#worker_rlimit_sigpending  200  ;events {
        worker_connections  1024;        #最大的客户端数量由上下文决定;
        #max clients = worker_processes * worker_connections
        #use auto;
        #下面这个配置是负载均衡锁,打开此调度会损耗系统性能;
        #accept_mutex[0n|off] 
        #lock_file为其锁文件
        #一个worker进程为取得一个锁真正建立连接的最长等待时间;如果某worker去取锁时,如果有worker在使用,那么得等待这么久再进行第二次
        # 请求,默认是500ms;
        #accept_mutex_delay #ns ;
        #multi_accept  [on|off];
        #是否允许并发建立连接,一次响应多个用户请求;默认为off;


        #用于调试、定位问题:只调试Nginx时使用,只让nginx工作在单进程模式下
        #daemon [on|off];提供关闭守护进程模式;
        #是否让Nginx运行于后台,默认为on,调试时默认为off,使得信息直接输出至控制台
        #master_process on | off 是否以此模式运行,默认为on,调试时可设为off以便追踪。
        #                                                                               
        }


http {#客户端类指令:如client_body_buffer_size 128k ;
client_header_buffer_size 32k;#large_client_buffer_size  32k;client_max_body_size  8m;#client_header_timeout;#keepalive_timeout;#文件IO类指令:如#aio;#directio;#open_file_cache;#open_file_cache_min_uses;#open_file_cache_valid;#sendfile;#hash类指令:用于定义Nginx为某特定的变量分配多大的内存空间,如#types_hash_bucket_size;#server_names_hash_bucket_size;#variables_hash_bucket_size;#套接字类指令:用于定义Nginx如何处理tcp套接字相关的功能,如tcp_nodelay on;#(用于keepalive功能启用时);tcp_nopush on;#(用于sendfile启用时);

    include       mime.types;
    default_type  application/octet-stream;    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;    #gzip  on;
    #配置压缩模块格式;gzip on;
gzip_min_length 1k;
gzip_buffers   4 16k;
gzip_http_version 1.0;
gzip_comp_level 4;#这里是一个引用配置段,我就不启用了;#include vh/bbs.yourich.com.cn.conf;

 log_format  main  '$remote_addr-$remote_user $time_local "$request" '
                     '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"'
                       '$upstream_addr $upstream_response_time $request_time ';#   配置公用的server段#   server{#       }#
        server {
        listen       80;
        server_name  www.sjf.com;
        index  index.html index.php;
        access_log /var/log/nginx/access.log  main;
        error_log   /var/log/nginx/error.log;        #server_name_hash_bucket_size;定义一次最多存储多少主机名
        #

        #charset koi8-r;

        #access_log  logs/host.access.log  main;#允许根据用户请求的URI来匹配指定的各location以进行访问配置;匹配到时,将被location块中的配置所处理;#比如:http://www.magedu.com/images/logo.gif# =:精确匹配;# ~:正则表达式模式匹配,匹配时区分字符大小写# ~*:正则表达式模式匹配,匹配时忽略字符大小写# ^~: URI前半部分匹配,不检查正则表达式
        location ^~ /admin{
        auth_basic  "Auth Area";
        auth_basic_user_file   /etc/nginx/.nginx_passwd;

        }
        location ~ .*\.(jpg|jpeg|png|gif\js|css)$ {
                root /usr/html;
                access_log off;
        }
        location   / {
                root /usr/html;                #try_files $uri $uri/ /index.php?$args;
                index index.html index.htm  index.php ;
        }
        location ~* \.php$ {               #        expires -1s;
                #这一条是可以不写的;
                root   /usr/html;        #       try_files $uri =404
                fastcgi_pass  127.0.0.1:9000;
                fastcgi_index     index.php ;
                fastcgi_param    SCRIPT_FILENAME /usr/html$fastcgi_script_name;
                include  fastcgi_params;                #fastcgi_param QUERY_STRING  $query_string;
                #fastcgi_param REQUEST_METHOD $request_method;
                #fastcgi_param CONTENT_TYPE  $content_type;
                #fastcgi_param CONTENT_LENGTH $content_length;
                fastcgi_cache off;
                fastcgi_cache_key  $request_uri;
                fastcgi_cache_valid  200 302 10m;
                fastcgi_cache_valid  301  1h;
                fastcgi_cache_valid  any  1m;
        }
        location    ~* ^/(status|ping)$   {
                include fastcgi_params;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_param   SCRIPT_FILENAME $fastcgi_script_name;

}
        location /status {
          stub_status                 on;
          access_log                  off;
          allow                       127.0.0.1;
          allow                       192.168.42.171;
          deny                        all;
      }

        error_page  404              /404.html;        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;
                #fastcgi_param CONTENT_TYPE  $content_type;
                #fastcgi_param CONTENT_LENGTH $content_length;
                fastcgi_cache off;
                fastcgi_cache_key  $request_uri;
                fastcgi_cache_valid  200 302 10m;
                fastcgi_cache_valid  301  1h;
                fastcgi_cache_valid  any  1m;
        }
        location    ~* ^/(status|ping)$   {
                include fastcgi_params;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_param   SCRIPT_FILENAME $fastcgi_script_name;

}
        location /status {
          stub_status                 on;
          access_log                  off;
          allow                       127.0.0.1;
          allow                       192.168.42.171;
          deny                        all;
      }

        error_page  404              /404.html;        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

这里我们用数据哭给用户授权对论坛数据库的访问

mysql -uroot -p123 -e 'create database ultrax;'
mysql -u root -p123 -e 'grant all on 'root'@'192.168.42.171'  identified by  '123'; '

这里我们解压Discuz

blob.png

这里我们用数据哭给用户授权对论坛数据库的访问
这里我们解压Discuz
得到这个目录,然后我们复制所有文件到/usr/html 中
chown -R ngin.nginx /usr/html
然后修改/etc/php-fpm.d/www.conf
将与php连接的用户和组均改为nginx.
这样我们打开网站首页就可以进行访问了!!
接下来我们要实现的就是结合nfs 实现多级LNMP的架构!!!

原创文章,作者:sjfbjs,如若转载,请注明出处:http://www.178linux.com/54277

(1)
sjfbjssjfbjs
上一篇 2016-10-25
下一篇 2016-10-25

相关推荐

  • HAproxy簡單配置

    用途:TCP/HTTP反向代理,四层负载均衡,适合高可用环境。Linux6.4版本后haproxy已随base仓库收录进来。文档:http://cbonte.github.io/haproxy-dconv/主程序:/usr/sbin/haproxy 主配置文件:/etc/haproxy/haproxy.cfg启动文件:/usr/lib/systemd/sys…

    2017-05-17
  • httpd 安装配置

    web 服务介绍 web服务时一种应用程序的服务,它所提供的最主要的信息是一种超文本标记语言(HTML)、多媒体资源(如:视频、图片、音乐等)。HTML是一种纯文字的文本信息,通过所谓的标签来规范所要显示的内容格式,在客户端通过浏览器的形式对HTML及多媒体资源进行解析,然后呈现在终端上。主要由http和https协议实现 http协议 HTTP是一个属于应…

    Linux干货 2016-11-01
  • 将两个局域网用openvpn连接起来

    考虑到我们做集群的时候需要用到可能有20台机器,可能我的要求跟别人的不一样的,我需要做20台左右的集群,不仅仅是会,而且需要非常熟练的搭建,最后通过脚步一键自动化部署安装。 目前我有两台电脑,一台可以运行7台,另一台可以运行12台左右,刚好可以满足的我的要求,但是我两台电脑都是设置的nat模式的网络,为什么我非要配置nat模式呢,根据集群架构思想,为了保证架…

    Linux干货 2017-05-01
  • Liunx获取信息帮助与man文档章节的划分

    首先要判断命令的类型,可用 type COMMAND 来判断命令 如果显示结果为(….是 shell内嵌)即为shell内嵌命令,如需获取帮助,使用 help COMMAND 即可; 下图的例子是pwd是shell内嵌命令 内部命令属于Shell的一部分,所以并没有单独对应的系统文件,只要Shell解释器被运行,内部指…

    2017-07-02
  • N-28作业第一周

    N-28作业第一周小结:以前看存储视频里面讲存储架构里不清楚的部分居然开始清晰。基础命令需要多花时间熟悉。

    2017-12-05
  • linux系统启动及kickstart

    1、简述linux操作系统启动流程
    2、简述grub启动引导程序配置及命令行接口详解
    3、实现kickstart文件制作与光盘镜像制作

    2018-01-17