Nginx—网站服务与基础构建

一、Nginx简介

一款高性能,轻量级Web服务软件
稳定性高
系统资源消耗低
对HTTP并发连接的处理能力高,单台物理服务器可支持30000-50000个并发请求

1.1 Nginx 工作原理

Nginx 本身做的工作实际很少,当它接到一个 HTTP 请求时, 它仅仅是通过查找配置文件将此次请求映射到一个 location block,而此 location 中所配 置的各个指令则会启动不同的模块去完成工作,因此模块可以看做 Nginx 真正的劳动工作者。

通常一个 location 中的指令会涉及一个 handler 模块和多个 filter 模块(当然,多个 location 可以复用同一个模块)。handler 模块负责处理请求,完成响应内容的生成,而 filter 模块对响应内容进行处理。 用户根据自己的需要所开发的模块都属于第三方模块。正是有了这么多模块的支撑, Nginx 的功能才会如此强大。

1.2 Nginx 模块从结构上分三大模块

核心模块:HTTP 模块、EVENT 模块和 MAIL 模块;

基础模块:HTTP Access 模块、HTTP FastCGI 模块、HTTP Proxy 模块和 HTTP Rewrite 模块;

第三方模块:HTTP Upstream Request Hash 模块、Notice 模块和 HTTP Access Key 模 块。

1.3 Nginx 模块从功能上分为如下三类

Handlers(处理器模块):此类模块直接处理请求,并进行输出内容和修改 headers 信息等操作。Handlers 处理器模块一般只能有一个;

Filters(过滤器模块):此类模块主要对其他处理器模块输出的内容进行修改操作,最后由 Nginx 输出;

Proxies(代理类模块):此类模块是 Nginx 的 HTTP Upstream 之类的模块,这些模块主要与后端一些服务比如 FastCGI 等进行交互,实现服务代理和负载均衡等功能。

1.4 Nginx 进程模型的工作方式

Nginx 的进程模型 在工作方式上,Nginx 分为单工作进程多工作进程两种模式
在单工作进程模式下,除主进程外,还有一个工作进程,工作进程是单线程的;
在多工作进程模式下,每个工作进程包含多个线程。Nginx 默认为单工作进程模式。

Nginx 在启动后,会有一个 master 进程和多个 worker 进程
master 进程主要用来管理 worker 进程,主要包含:接收来自外界的信号,向各 worker 进程发送信号,监控 worker 进程的运行状态,当 worker 进程退出后(异常情况下),会自动 重新启动新的 worker 进程。 master 进程充当整个进程组与用户的交互接口,同时对进程进行监护。它不需要处理网络事件,不负责业务的执行,只会通过管理worker 进程来实现重启服务、平滑升级、更换日志文件、配置文件实时生效等功能。

1.5 Nginx+FastCGI运行原理

FastCGI接口方式采用C/S结构,可以将HTTP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程。当HTTP服务器每.次遇到动态程序时,可以将其直接交付给FastCGI进程来执行,然后将得到的结果返回给浏览器。这种方式可以让HTTP服务器专一地处理静态请求或者将动态脚本服务器的结果返回给客户端,这在很大程度上提高了整个应用系统的性能。

Nginx 不支持对外部程序的直接调用或者解析,所有的外部程序(包括 PHP)必须通过FastCGI 接口来调用。FastCGI 接口在 Linux 下是 socket(这个 socket 可以是文件 socket, 也可以是 ip socket)。 wrapper 为了调用 CGI 程序,还需要一个 FastCGI 的 wrapper(wrapper 可以理解为用于启动另一个程序的程序),这个 wrapper 绑定在某个固定 socket 上,如端口或者文件 socket。当 Nginx 将 CGI 请求发送给这个 socket 的时候,通过 FastCGI 接口,wrapper 接收到请求,然后 Fork(派生)出一个新的线程,这个线程调用解释器或者外部程序处理脚本并读取返回数据;接着 wrapper 再将返回的数据通过 FastCGI 接口,沿着固定的 socket传递给 Nginx;最后 Nginx 将返回的数据(html 页面或者图片)发送给客户端。

二、服务构建

2.1 nginx部署实操

1、关闭防火墙

[root@server1 ~]# systemctl stop firewalld
[root@server1 ~]# setenforce 0
[root@server1 ~]# sed -i '/SELINUX/s/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@server1 ~]# grep -v "#" /etc/selinux/config     #查看防火墙关闭信息
[root@server1 ~]# cd

在这里插入图片描述

2、安装软件及创建用户
导入安装包:nginx-1.12.2.tar

[root@server1 ~]# yum -y install pcre-devel zlib-devel   #安装依赖包gcc和gcc-c++系统自带
#pcre-devel 是perl语言的正则表达式库
#zlib-devel 是软件包的开发包,一个函数库,库里面包括头文件,静态库甚至源码等资源
[root@server1 ~]# useradd -M -s /sbin/nologin nginx    #创建不带宿主,不可登录的用户nginx
[root@server1 ~]# tar zxvf nginx-1.12.2.tar.gz       #tar解包

3、配置

[root@server1 ~]# cd nginx-1.12.2/    进入主目录
[root@server1 nginx-1.12.2]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module    #配置
--user=nginx  --group=nginx:指定其运行时的账户与组
--with-http_stub_status_module:将状态模块启用

4、编译安装

[root@server1 nginx-1.12.2]# make && make install

5、创立链接及测试语法

[root@server1 nginx-1.12.2]# cd
[root@server1 ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/     #方便使用命令
[root@server1 ~]# nginx -t   语法检查 等同于apache的 httpd -t

在这里插入图片描述

[root@server1 ~]# nginx    服务启动等同于apaxhe systemctl start httpd
[root@server1 ~]# netstat -anpt | grep nginx    #查看服务是否起来

在这里插入图片描述

补充:开启,关闭nginx服务简写命令

[root@server1 ~]# killall -1 nginx     #服务重启
[root@server1 ~]# killall -3 nginx     #服务关闭

在这里插入图片描述

6、创建管理脚本

[root@server1 ~]# vi /etc/init.d/nginx
#!/bin/bash
#chkconfig: 35 80 20    #设置级别35,启动顺序80开启,关闭顺序20关闭
#description: Nginx HTTP Server  #描述
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"    #进程文件路径
case "$1" in
     start)
     $PROG     #启动调用文件
     ;;
     stop)
     kill -s QUIT $(cat $PIDF)    #服务退出,退出时加上进程文件号
     ;;
     reload)
     kill -s HUP $(cat $PIDF)    #平滑过渡
     ;;
     restart)
     $0 stop      #先关闭  $0:表示当前执行的脚本或程序名称
     $0 start      #后开启
     ;; 
     *)               #如果输入错误,提示可以支持的格式
     echo "Usage: $0 {start|stop|reload|restart}"
     exit 1         #退出代码
esac
exit 0              #退出脚本
[root@server1 ~]# chmod +x /etc/init.d/nginx   #添加可执行权限
[root@server1 ~]# chkconfig --add nginx          #将nginx加入到SERVICE管理器
[root@server1 ~]# chkconfig --list         #检查一下nginx的35是开的

在这里插入图片描述

7、编辑配置文件

[root@server1 ~]# ln -s /usr/local/nginx/conf/nginx.conf /etc/   #链接到/etc下,方便管理
[root@server1 ~]# vi /etc/nginx.conf   #修改配置文件
user nginx nginx  #删除注释启用,原来是nobody匿名用户启用,改为我们创建好的nginx用户,nginx组
worker_processes   4;   #工作进程号改为4
error_log  logs/error.log  info;   #删除注释启用错误日志记录
#pid     logs/nginx.pid;   #启用脚本已指定进程文件,如未指定
events {       #events模块添加
        use epoll;    #支持高并发;号结束
        worker_connections    4096;  #修改并发连接数4096
#记录日志三个注释删除,全部启用,全局启用日志不动,因为下面模块会启用调用

在这里插入图片描述

charset utf-8   #修改成支持中文字符集utf-8
access_log  logs/aa.com.access.log  main;  #删除注释,模块下启用访问日志功能改名aa.com

在这里插入图片描述

[root@server1 ~]# nginx -t
#语法检查报错,原因系统本地打开资源数默认1024,设置超过默认值

在这里插入图片描述

[root@server1 ~]# ulimit -n    #查看打开资源数
[root@server1 ~]# ulimit -n 65535 >> /etc/rc.local  #修改资源数   
[root@server1 ~]# ulimit -n

在这里插入图片描述

8、开启统计模块

[root@server1 ~]# vi /etc/nginx.conf 
添加:location行下添加
 location ~ /status {             #匹配项只要URL路径中出现/status就会定位到该模块
            stub_status on;       #功能开启
            access_log off;        #不记录日志
 }

在这里插入图片描述

[root@server1 ~]# systemctl stop nginx
[root@server1 ~]# systemctl start nginx

浏览器效验
http://20.0.0.11
http://20.0.0.11/status (主机模块)

在这里插入图片描述
在这里插入图片描述

nginx status详解
active connections:活跃的连接数量
server accepts handled requests:总共处理了n个连接,成功创建n次握手,总共处理了n个请求
reading: 读取客户端的连接数
writing: 响应数据到客户端的数量
waiting: 开启keep-alive的情况下,这个值等于active (reading+writing) 意思就是Nginx已经处理完正在等候下一次请求指令的驻留连接

查看日志文件

[root@server1 ~]# cd /usr/local/nginx/logs/
[root@server1 logs]# ls -lh
[root@server1 logs]# cat aa.com.access.log | wc -l

在这里插入图片描述

2.12 配置nginx的验证功能

安装文件

[root@server1 logs]# cd
[root@server1 ~]# yum -y install httpd-tools    #支持passwd命令

设置需要验证的用户

[root@server1 ~]# htpasswd -c /usr/local/nginx/passwd.db wkw     #wkw为用户名
[root@server1 ~]# chown nginx /usr/local/nginx/passwd.db

开启验证功能

[root@server1 ~]# vi /etc/nginx.conf 
添加
            auth_basic "secret";     #设置文件密文显示
            auth_basic_user_file /usr/local/nginx/passwd.db;  #用户文件指向,生成文件

在这里插入图片描述

[root@server1 ~]# nginx -t
[root@server1 ~]# systemctl stop nginx
[root@server1 ~]# systemctl start nginx
[root@server1 ~]# netstat -anpt | grep nginx

在这里插入图片描述

浏览器效验
http://20.0.0.11
登录用户wkw;密码123123

在这里插入图片描述
在这里插入图片描述

拒绝20.0.0.11访问
nginx不同于apache,验证管理是按照顺序进行执行的
需要先拒绝指定ip,后允许所有

[root@server1 ~]# vi /etc/nginx.conf 
添加        deny 20.0.0.1/32;   #先拒绝
               allow all;        #后允许
               auth_basic "secret"; 
               auth_basic_user_file /usr/local/nginx/passwd.db;
               
```![在这里插入图片描述](https://img-blog.csdnimg.cn/20201130010445484.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2thbmdfMDE=,size_16,color_FFFFFF,t_70)
```javascript
[root@server1 ~]# systemctl stop nginx
[root@server1 ~]# systemctl start nginx
[root@server1 ~]# netstat -anpt | grep nginx

浏览器效验
http://20.0.0.11
在这里插入图片描述

进行其他配置先删除之前配置

[root@server1 ~]# vi /etc/nginx.conf
deny 20.0.0.1/32;
allow all;
auth_basic “secret”;
auth_basic_user_file /usr/local/nginx/passwd.db;
[root@server1 ~]# nginx -t
[root@server1 ~]# systemctl stop nginx
[root@server1 ~]# systemctl start nginx
[root@server1 ~]# netstat -anpt | grep nginx

2.13 配置虚拟主机功能

先删除之前配置

[root@server1 ~]# vi /etc/nginx.conf
deny 20.0.0.1/32;
allow all;
auth_basic “secret”;
auth_basic_user_file /usr/local/nginx/passwd.db;
[root@server1 ~]# nginx -t
[root@server1 ~]# systemctl stop nginx
[root@server1 ~]# systemctl start nginx
[root@server1 ~]# netstat -anpt | grep nginx

**

1.基于域名

**
1.修改配置

[root@server1 ~]# vi /etc/nginx.conf   
#修改
server_name  www.aa.com;
root   /var/ww/aa;

在这里插入图片描述

2.添加模块(注意要在http模块中添加)
#添加在末端最后一份}内

server {
         listen  80;                                       #监听端口
         server_name www.ab.com;           #主机名
         charset utf-8;                                  #字符集
         access_log logs/ab.com.access.log;  #访问日志文件路径
         location / {                                           #站点目录
             root /var/www/ab;                            # 根
             index index.html index.htm;            #主页
         }
         error_page   500 502 503 504  /50x.html;    #错误日志(出现500 502 503 504报错,引用50x。html文件)
         location = /50x.html {                                    #文件名
            root   html;                                                 #文件路径
         }
    }        #添加一个 } 

在这里插入图片描述

3.创建文件网页

[root@server1 ~]# mkdir -p /var/www/aa
[root@server1 ~]# mkdir -p /var/www/ab
[root@server1 ~]# echo "<h1>this is aa.</h1>" > /var/www/aa/index.html
[root@server1 ~]# echo "<h1>this is ab.</h1>" > /var/www/ab/index.html

4.添加映射

[root@server1 ~]# vi /etc/hosts              #添加
20.0.0.11   www.aa.com    www.ab.com

在这里插入图片描述

5.访问验证

[root@server1 ~]# curl http://www.aa.com
<h1>this is aa.</h1>
[root@server1 ~]# curl http://www.ab.com
<h1>this is ab.</h1>
2.基于ip

1.建立虚拟网卡地址

[root@server1 ~]# ifconfig ens33:1 192.168.1.11/24
[root@server1 ~]# ifconfig

在这里插入图片描述

2.编辑配置文件

[root@server1 ~]# vi /etc/nginx.conf     #添加ip

在这里插入图片描述
在这里插入图片描述

[root@server1 ~]# nginx -t
[root@server1 ~]# systemctl stop nginx
[root@server1 ~]# systemctl start nginx
[root@server1 ~]# netstat -anpt | grep nginx

3.访问验证

[root@server1 ~]# curl http://20.0.0.11
<h1>this is aa.</h1>
[root@server1 ~]# curl http://192.168.1.11
<h1>this is ab.</h1>
2.基于端口

1.编辑配置文件

[root@server1 ~]# vi /etc/nginx.conf #修改端口

在这里插入图片描述

[root@server1 ~]# nginx -t
[root@server1 ~]# systemctl stop nginx
[root@server1 ~]# systemctl start nginx
[root@server1 ~]# netstat -anpt | grep nginx

2.访问验证

[root@server1 ~]# curl http://20.0.0.11
<h1>this is aa.</h1>
[root@server1 ~]# curl http://192.168.1.11:8080
<h1>this is ab.</h1>

2.2 安装mysql服务数据库

1.安装软件及创建用户
导入软件包:mysql-boost-5.7.20.tar

[root@server1 ~]# yum -y install ncurses ncurses-devel bison cmake
#ncurses ncurses-devel:字符终端下屏幕控制的基本库 
#bison :自动生成语法分析器程序
#cmake :跨平台的安装编译工具
[root@server1 ~]# useradd -s /sbin/nologin mysql    #建立不可登录用户mysql
[root@server1 ~]# tar zxvf mysql-boost-5.7.20.tar.gz   #tar解包

2.配置数据库

[root@server1 ~]# cd mysql-5.7.20/    #进入数据库
[root@server1 mysql-5.7.20]#
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1

在这里插入图片描述

3、make编译和安装

[ root@server1 mysql-5.7.20]# make && make install   #编译并安装,时间很长

4、编译配置文件

[ root@server1 mysql-5.7.20]# cd
[ root@server1 ~]# chown -R mysql:mysql /usr/local/mysql/     #添加服务属主,属组
[root@server1 ~]# vi /etc/my.cnf   #编译配置文件,全部删光,重新添加
[client]       #客户端
port = 3306    #访问端口   
default-character-set = utf8      #默认字符设定
socket = /usr/local/mysql/mysql.sock     #套接字路径,需与数据库套接字路径一致,否则无法访问
[mysql]       #运行用户
port = 3306
default-character-set = utf8
socket = /usr/local/mysql/mysql.sock
[mysqld]       #程序
user = mysql       #运行用户
basedir = /usr/local/mysql      #基本路径,根目录
datadir = /usr/local/mysql/data     #用户目录
port = 3306       #运行端口
character_set_server = utf8      #服务器设定默认字符
socket = /usr/local/mysql/mysql.sock     #运行时进程文件
pid-file = /usr/local/mysql/mysql.pid     #套接字路径
server-id = 1      #每个数据库的id必须不一样
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
[root@server1 ~]# chown mysql:mysql /etc/my.cnf
[root@server1 ~]# echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile    #复制环境变量到开机启动
[root@server1 ~]# echo 'export PATH' >> /etc/profile    #设置全局变量
[root@server1 ~]# tail -5 /etc/profile    #检查

在这里插入图片描述

[root@server1 ~]# source /etc/profile    #立即执行变量
[root@server1 ~]# echo $PATH      #检查环境变量

5、初始化

[root@server1 ~]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data       #初始化
[root@server1 ~]# cd /usr/local/mysql/
[root@server1 mysql]# cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system  #拷贝mysqld.service文件
[root@server1 mysql]# systemctl daemon-reload    #守护进程重新加载
[root@server1 mysql]# systemctl start mysqld      #开启服务
[ root@server1 mysql]# cd
[root@server1 ~]# netstat -anpt | grep 3306     #检查端口3306有没有开

在这里插入图片描述

[root@server1 ~]# systemctl enable mysqld      #自启动

6、初始化密码

[root@server1 ~]# mysql     #登录
mysql> set password for root@localhost = password('abc123');      #设密码
mysql> exit    #退出
[root@server1 ~]# mysql -uroot -pabc123     带密码登陆 
mysql>     #成功登陆

2.3 安装配置php

1、安装依赖包
导入软件包
php-7.1.10.tar

[root@server1 ~]# yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel       
#安装依赖包
#libjpeg libjpeg-devel :jpeg图像压缩库
#libpng libpng-devel :png图像压缩库
#freetype freetype-devel :字体引擎
#libxml2 libxml2-devel :解析Xml程序库
#zlib zlib-devel :数据压缩
#curl curl-devel :传输工具
#openssl openssl-devel :安全通信
[root@server1 ~]# tar jxvf php-7.1.10.tar.bz2         #软件包解包

2、配置服务

[root@server1 ~]# cd php-7.1.10/
[root@server1 php-7.1.10]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql-sock=/usr/local/mysql/mysql.sock --with-mysqli --with-zlib --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-openssl --enable-mbstring --enable-xml --enable-session --enable-ftp --enable-pdo --enable-tokenizer --enable-zip

3、make编译和安装

[root@server1 php-7.1.10]# make && make install   #编译并安装

4、编译配置文件

[root@server1 php-7.1.10]# cp php.ini-development /usr/local/php/lib/php.ini   #拷贝扩展配置文件到php库文件下,重命名php.ini
[root@server1 php-7.1.10]# vi /usr/local/php/lib/php.ini     #编辑配置文件,修改
mysqli.default_socket = /usr/local/mysql/mysql.sock   #添加套接字mysql路径
date.timezone = Asia/Shanghai  #添加时区为上海,删掉注释;
[root@server1 php-7.1.10]# /usr/local/php/bin/php -m | wc -l

2.4 配置及优化FPM模块

[root@server1 php-7.1.10]# cd
[root@server1 ~]# cd /usr/local/php/etc
[root@server1 etc]# cp php-fpm.conf.default php-fpm.conf
[root@server1 etc]# cd /usr/local/php/etc/php-fpm.d/
[root@server1 php-fpm.d]# cp www.conf.default www.conf
[root@server1 php-fpm.d]# cd /usr/local/php/etc/
[root@server1 etc]# vi php-fpm.conf
pid = run/php-fpm.pid
[root@server1 etc]# cd

1.启动fpm模块

php启动时,启动php-fpm模块,模块启动时会生成9000号端口,即FastCGI接口
[root@server1 ~]# /usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini   手动启动
[root@server1 ~]# netstat -anpt | grep 9000

在这里插入图片描述

2.创建链接

[root@server1 ~]# ln -s /usr/local/php/bin/* /usr/bin
 #让/usr/local/php/bin/下生成的所有命令都链接到/usr/bin下

2.4 让nginx支持PHP功能

1.编辑配置文件

[root@server1 ~]# vi /etc/nginx.conf   #修改
$document_root  (调用变量)

在这里插入图片描述

[root@server1 ~]# nginx -t
[root@server1 ~]# systemctl stop nginx
[root@server1 ~]# systemctl start nginx

2.创建php网页

[root@server1 ~]# vi /usr/local/nginx/html/index.php
<?php
phpinfo();
?>

浏览器访问
http://20.0.0.11/index.php
在这里插入图片描述

2.5 测试数据库工作是否正常

1.配置数据库

[root@server1 ~]# mysql -uroot -pabc123     #登录
mysql> create database bbs;  #创建数据库
mysql> grant all privileges on bbs.* to 'bbsuser'@'localhost' identified by 'admin123';    #本地授权
mysql> grant all privileges on bbs.* to 'bbsuser'@'%' identified by 'admin123';       #远程授权
mysql> flush privileges;    #刷新
mysql> exit           #退出

2.配置php网页

[root@server1 ~]# vi /usr/local/nginx/html/index.php
<?php #变量  连接信息   本机地址 数据库登录名    登录密码
$link=mysqli_connect ('20.0.0.11','bbsuser','admin123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>

浏览器访问
http://20.0.0.11/index.php
在这里插入图片描述

#成功说明php具有访问mysql数据库的权限

2.6部署Discuz 社区论坛 Web应用

安装论坛
导入软件包:Discuz_X3.4_SC_UTF8

[root@server1 ~]# unzip Discuz_X3.4_SC_UTF8.zip 
[root@server1 ~]# cd dir_SC_UTF8/
[root@server1 dir_SC_UTF8]# cp -r upload/ /usr/local/nginx/html/bbs
[root@server1 dir_SC_UTF8]# cd /usr/local/nginx/html/bbs/
[root@server1 bbs]# ls -lh
[root@server1 bbs]# chown -R root.nginx ./config/
[root@server1 bbs]# chown -R root.nginx ./data/
[root@server1 bbs]# chown -R root.nginx ./uc_client/
[root@server1 bbs]# chown -R root.nginx ./uc_server/
[root@server1 bbs]# chmod -R 777 ./config/
[root@server1 bbs]# chmod -R 777 ./data/
[root@server1 bbs]# chmod -R 777 ./uc_client/
[root@server1 bbs]# chmod -R 777 ./uc_server/

浏览器访问
http://20.0.0.11/bbs/install/index.php
在这里插入图片描述
在这里插入图片描述

安装完成
在浏览器上访问
http://20.0.0.11/bbs/index.php
在这里插入图片描述

2.7 设置安装目录仅自己可见

[root@server1 ~]# cd /usr/local/nginx/html/bbs/
[root@server1 bbs]# mv install/ install.lock
[root@server1 bbs]# chmod 600 install.lock/
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页