通过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)
上一篇 2016-10-25 09:03
下一篇 2016-10-25 09:46

相关推荐

  • linux 基础命令(四)

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限。 [root@localhost home]# cp -r /etc/skel/ /home/tuser1 [root@localhost home]# c…

    Linux干货 2016-10-16
  • Find命令的使用

    Find命令的基本用法 在Linux系统中find命令是一个强大文件查找类工具,它支持根据文件名,权限,文件大小,访问以及修改时间查找,使用方法如下: find [option] [查找起始路径] [查找条件] [处理动作] 起始路径:指定查找文件或目录的路径,默认为当前目录 查找条件:可根据文件名,权限,文件大小以及从属关系查找文件 处理动作:动查找到的文…

    Linux干货 2017-08-28
  • N26第一周博客作业

    1.       计算机的组成及其功能 计算机由以下5部分组成: 控制器:控制器是计算机的中枢神经,功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各个部分工作及内存与外存的访问等。 运算器:运算器功能主要是对数据进行各种算术和逻辑运算,即对数据进行加工处理。…

    Linux干货 2016-12-28
  • 进程管理

    linux维护工作中,常常需要对系统上运行的程序进行管理,那么进程管理就显得相当重要。 进程初识 什么是进程?   进程是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念。它代表CPU所能处理的单个任务。 什么是线程?   线程是程序流执行的最小单元,可以理解为进程中执行的一段程序片段。 进程与线程联…

    Linux干货 2016-09-07
  • mysql主从架构/模式

    MySQL Replication: Master/Slave Master: write/read Slaves: read 为什么? 冗余:promte(提升为主),异地灾备 人工 工具程序 负载均衡:转移一部分“读”请求; 支援安全的备份操作: … 主/从架构: 异步复制:master只需要完成自己的数据库操作即可。至于slaves是否收到…

    2016-11-27