Linux学习笔记:网站服务

目录

网站服务概念介绍
网站服务部署方式
  第一种方式:利用yum方式安装
  第二种方式:利用rpm方式安装
  第三种方式:编译安装程序
  第四种方式:二进制包方式安装程序(绿色方式安装软件)
  nginx程序安装
    方式一:yum安装软件程序
    方式二:采用编译方式安装
  启动服务程序:进行测试
    方式一:yum安装软件启动服务
    方式二:编译安装需要使用命令脚本
网站服务目录结构
  配置文件所在目录
  站点目录所在位置
  网站日志文件保存目录
网站服务配置介绍
  主配置文件
  扩展配置文件

网站服务企业应用
  静态代码发布
  数据共享存储功能
  网站服务安全访问
  网站服务状态监控
  网站服务日志信息
    error.log:错误日志
    access.log:访问日志
网站服务LNMP架构
  LNMP介绍
  网站架构工作原理
  LNMP部署
    系统准备
    PHP部署(yum方式)
    数据库安装部署
  将LNMP架构进行串联
网站服务动态资源发布

 

 




 

 

网站服务概念介绍

网站服务

【待】 

网站服务处理请求方式

方式一: 静态方式进行处理 效应效率快
客户端浏览器 请求什么数据,响应什么数据
方法二: 动态方式进行处理 更完善数据响应
客户端浏览器 请求什么数据,将请求数据进行一定处理,再讲数据进行响应

网站服务部署方式

Linux系统中,静态网站服务nginx软件的安装方法有以下四种: 

第一种方式:利用yum方式安装

(Ubuntu系统用apt-get命令)

特点:

  • 需要连接外网
  • 软件下载并安装
  • 可以解决软件依赖

语法:

yum install -y nginx     //用yum方法下载并安装nginx。-y表示确认。
yum reinstall -y nginx    //重新安装
yum remov 或 erase nginx    //删除软件包(慎用!因为可能有其他软件依赖于它)
yum search 或 provides xxx  //xxx是命令信息或文件信息,用于获取软件包名称信息或验证软件包在yum平台中是否存在

 

第二种方式:利用rpm方式安装

特点:

  • 无法解决依赖问题
  • 可以不用连接外网

需要准备rpm工具,可以用以下命令查看系统是否已有此程序:

rpm -qa lrzsz           //查看系统中是否有此程序
lrzsz-0.12.20-36.el7.x86_64    //表示系统中已有此程序及其版本信息 

步骤1:需要下载好软件程序包

从官网下载软件包,软件包建议下载Stable version稳定版。

nginx官网下载页面:
http://nginx.org/en/download.html 

步骤2:将下载好的程序包放入到系统中

Windows系统使用rz上传、sz下载:

在Linux系统中进入设定好的路径,将下载好的程序包拉进终端窗口中(命令行显示为:rz -E ),也可以用命令方法进行:
rz -y    //然后选择下载好的程序包上传加载到Linux中

//PS:从Linux系统中下载文件到本地可以用以下命令:
sz -y 文件

Mac系统使用scp上传下载:

从Mac上传文件到虚拟机(在物理机终端上操作):
scp Mac上待上传的文件绝对路径/文件 root@虚拟机地址:虚拟机路径/文件名
例:
scp /Users/test/Desktop/123.txt root@10.0.0.200:/root/123.txt

从虚拟机下载文件到Mac:
scp root@虚拟机地址:虚拟机路径/文件名 Mac绝对路径/文件
例:
scp root@10.0.0.200:/root/123.txt /Users/test/Desktop/123.txt 

步骤3:安装软件程序

语法:

rpm 参数    //安装程序包.rpm,参数一般用 -ivh

参数说明:

  • i --- 表示安装指定程序包
  • v --- 显示程序安装过程
  • h --- 显示的过程信息尽量人类可读

安装完之后,我们需要验证一下是否安装成功:

rpm -qa    //用于查看软件包是否安装
rpm -ql    //查看某一个软件程序安装部署了哪些信息

 

第三种方式:编译安装程序

特点:

  • 无法解决依赖问题
  • 可以不用连接外网
  • 可以定制化安装软件程序(最大的特点)
步骤1:需要下载好程序包(压缩包)/解压程序包
步骤2:进入到解压后的程序目录
步骤3:进行软件部署配置过程:自定义开启需要的功能,可以指定程序保存目录
步骤4:编译过程(软件程序代码信息翻译后让系统识别代码)
步骤5:编译安装过程 

详见以下nginx安装实例。

 

第四种方式:二进制包方式安装程序(绿色方式安装软件)

特点:

  • 安装部署过程方便
  • 无法解决依赖问题
  • 无需连接外网环境

这种方式没有安装过程,直接把软件包解压即可使用。

 

nginx程序的安装

——第一种方式:yum安装软件程序——

语法:

yum install -y nginx

此种方式需有网络,并先优化yum下载源,建议采用国内的阿里云平台:

网站:
https://developer.aliyun.com/mirror/centos
https://developer.aliyun.com/mirror/epel

优化yum下载源参考命令:
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

——第二种方式:采用编译方式安装——

步骤1:下载软件程序源码包

从官网(http://nginx.org/download/)选 Stable version稳定版下载。

步骤2:需要解决软件依赖问题

yum install -y pcre-devel openssl-devel  //建议依赖包加上"-devel"以区分

步骤3:解压软件程序/进行配置过程

解压:tar xf nginx-1.18.0.tar.gz
进入目录:cd nginx-1.18.0/ 查看配置帮助信息:./configure --help
配置语法:./configure 参数
一些常用参数:
--prefix=目录:指定安装程序数据保存目录 --user=USER:管理服务进程用户(虚拟用户)信息。(虚拟用户:useradd -M -s /sbin/nologin nginx 用户不存在的可创建) --with-http_ssl_module:表示开启了https访问功能 --with-http_stub_status_module:表示开启nginx服务状态监控功能
【注:with为开启服务,without是关闭服务,可关闭没用的功能,节省资源】

步骤4: 编译过程:直接输入make命令执行

make

步骤5: 编译安装:直接输入make install命令执行

make install    //步骤4和步骤5两个命令可以连写成:make && make install

 

nginx启动服务程序:进行测试

方式一:yum安装软件启动服务

启动:systemctl start nginx
查看进程:ps -ef|grep nginx
停止:systemctl stop nginx

方式二:编译安装需要使用命令脚本

启动文件夹下的命令启动程序:/app/nginx/sbin/nginx
【如需启用直接命令行,就将文件放在系统bin或sbin文件夹下】
或在文件夹下
启动:./nginx
停止:./nginx -s stop
启动后重载:./nginx -s reload

服务是否成功启动的验证:

一、系统安全优化做好:
  关闭防火墙:systemctl stop firewalld
  关闭selinux安全策略:setenforce 0
二、打开浏览器,输入服务器的地址,能够看到类似Welcome的页面,就是服务部署成功了。
  注:浏览器尽量不要选择使用edge(win10),建议使用谷歌、火狐等。

网站服务启动之后,无法访问页面的排查方法:

1)确认服务运行状态:查看进程
2)确认服务网络配置
  ping 10.0.0.100
  telnet 10.0.0.100 80  //连接80端品,返回Connection established则为成功。
3)可以在命令行测试页面
  curl -I 10.0.0.100  //参数-I,看结果HTTP状态码为200 OK的为成功。

 

网站服务目录结构

配置文件所在目录

--- yum安装软件配置目录:/etc/nginx

关注文件:nginx.conf,conf.d/xxx.conf(扩展配置文件)

--- 编译安装软件配置目录:/app/nginx/conf/

关注文件:nginx.conf 

站点目录所在位置

网站重要文件图片、音频、视频、代码文件等存放位置

--- 默认网站站点目录:/usr/share/nginx/html/

可以自定义目录,要规划好,且需修改配置文件。

网站日志文件保存目录

--- 默认程序日志文件路径:/var/log/nginx

tail -f /var/log/nginx/access.log    //查看访问日志最新内容
tail -f /var/log/nginx/error.log    //查看错误文件最新内容 

 

网站服务配置文件介绍 

主配置文件

nginx主配置文件路径:/etc/nginx/nginx.conf

配置文件区域概念:

  • 主区域:一些服务运行优化配置信息
  • evants区域:一些服务运行优化参数信息
  • HTTP区域:配置网站服务功能指令
  • server区域:针对不同网站功能指令
  • location区域:针对不同页面功能配置

【官方帮助文件档:http://nginx.org/en/docs/dirindex.html】

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;    //指定nginx服务worker进程管理用户信息。
【查看进程命令:ps -ef|grep nginx】
root 27435 1 0 10:49 ? 00:00:00 nginx: master process /usr/sbin/nginx
nginx 27436 27435 0 10:49 ? 00:00:00 nginx: worker process
master --- boss 法人 === 服务主进程 控制服务运行状态
worker --- 公司员工 === 服务工作进程 处理网站服务任务
worker_processes auto; //指定worker进程数量,auto为自动识别设置,worker进程数量根据服务器硬件环境来定义:worker进程数量 (建议)== 服务器CPU总的核心数 == 并行处理任务能力
error_log /var/log/nginx/error.log;  //定义错误日志文件保存路径 pid /run/nginx.pid; //定义进程编号文件保存路径,记录服务编号。早期作用:判断服务是否启动或关闭。如果某一服务未能正常启动,可查看此文件是否已有记录。
# Load
dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; //表示加载扩展配置文件信息 events { worker_connections 1024; //每个worker进程可以承载的连接数。总的服务连接数=worker进程数量*单个进程连接数。 } http { 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 /var/log/nginx/access.log main; //定义访问网站日志保存路径 sendfile on; //网站优化相关,表示开启文件高效传输模式 tcp_nopush on; //网站优化相关 tcp_nodelay on; //网站优化相关 keepalive_timeout 65; //表示TCP长连接会话保持时间信息 //TCP长链接:一次链接,发送多个数据请求信息 但链路出现空闲时,会有时间倒计时算法 保证链路利用率
  //TCP短链接:一次链接,发送一次数据请求信息 通讯效率会较低/ 节省通讯资源
  
   types_hash_max_size 2048; include /etc/nginx/mime.types; //需要加载的媒体资源类型文件 default_type application/octet-stream; //未知文件类型的处理方式,会直接下载。 # Load modular configuration files from the /etc/nginx/conf.d directory. # See
http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; //需要加载的不同网站服务扩展文件 server { //详见下面扩展配置文件 listen 80 default_server; listen [::]:80 default_server; server_name _; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } # Settings for a TLS enabled server. # # server { # listen 443 ssl http2 default_server; # listen [::]:443 ssl http2 default_server; # server_name _; # root /usr/share/nginx/html; # # ssl_certificate "/etc/pki/nginx/server.crt"; # ssl_certificate_key "/etc/pki/nginx/private/server.key"; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 10m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # # # Load configuration files for the default server block. # include /etc/nginx/default.d/*.conf; # # location / { # } # # error_page 404 /404.html; # location = /40x.html { # } # # error_page 500 502 503 504 /50x.html; # location = /50x.html { # } # } }

 

扩展配置文件

配置文件路径:/etc/nginx/conf.d/xxx.conf

可以有多个扩展配置文件,网站中有www.test.com, bbs.test.com, blog.test.com等,以www.conf文件为例:
server{
  listen  80 default_server;  //指定服务监听端口信息,多个配置文件中只能有一个默认服务
  server_name  www.test.com;  //指定网站域名信息,只有一个网站的可不写
  root  /usr/share/nginx/html;  //指定服务站点目录,可自己部署,如:/html/test;
  index  index.html;  //指定首页文件信息,可换。用户访问网站时,若无具体要求,则默认显示的页面。
}
服务启动时报错,八九成是配置文件有问题,要检查配置文件语法:nginx -t 

通过物理机进行本地测试,需在本地hosts文中加入dns解析配置信息:

10.0.0.200 www.test.com bbs.test.com blog.test.com

 

网站服务企业应用

静态代码发布

步骤1:上传代码,放入站点目录下

开源网站参考:github,gitee

步骤2:解压

方式一:tar xvf 代码包
方式二:unzip 代码包

步骤3:测试

本地测试要在本地hosts配置好DNS信息。以下Windows为例:
C:\Windows\System32\drivers\etc\hosts
10.0.0.200 www.test.com

 

数据共享存储功能

步骤1:创建共享目录,存储共享数据

mkdir /html/share
//可以将文件分类放在不同目录下,设置不同的权限,供不同的人看。

步骤2:编写共享网站配置信息:share.conf 配置文件

server{
  listen 80;    //端口设置为80端口
  server_name share.test.com; //设置服务器名
  root /html/share/; //设置站点目录   autoindex on;
//去掉首页index行,加入自动列表设置,on为开启状态   charset utf-8; //设置字符集为utf-8
}

步骤3:重启nginx服务并查看

systemctl restart nginx.   //重启nginx服务
share.test.com //在浏览器中进入设置的站点即可查看 (注意,需要预先在物理机本地hosts文件中做好解析配置)

 

网站服务安全访问

——可以根据用户地址信息进行访问控制——

步骤1:编写配置文件,设置访问控制策略。

server{
...;
location    /目录/ {      //指定操作的页面
  allow 10.0.0.1;        //允许此地址的用户访问
  allow 10.0.0.0/24;     //允许此网段的用户访问,10.0.0.1。。。10.0.0.254均能访问
  deny all;              //拒绝其他所有用户访问
  }
}
【PS:IP地址规划:根据业务部门规划ip地址。】
例:总经理办公室:192.168.10.0/24
审计部门:192.168.11.0/24
运营部门:192.168.12.0/24

步骤2:进行访问测试:拒绝访问会显示403错误状态码。 

——设置用户登录信息进行访问控制——

步骤1:编写配置文件

server{
...;
location  /目录/ { //子目录   auth_basic "登录认证说明"
; //开启认证功能   auth_basic_user_file /目录/密码文件; //指定加载用户密码文件   }
}

步骤2:生成密码文件

采用不可逆算法,将明文生成密文,可以安装以下工具:
yum install -y httpd-tools //安装工具 htpasswd -c /目录/保存密码的文件 用户名 //创建用户名和密码,密码文件已有则无需加参数-c

步骤3:进行认证测试访问

1.重启服务:systemctl restart nginx
2.清除浏览器缓存再进行测试 

 

网站服务状态监控

用最基本的方式监控dos、doss攻击

步骤1:在配置文件开启监控状态平台功能

server {
      listen       80;
      server_name  www.test.com;
      root         /html/www;
      index        index.html;
      location    /status/ {    //指定访问页面
         stub_status;           //开启监控平台页面
        }
      }

步骤2:进入站点查看监控信息

重启服务:systemctl restart nginx
打开浏览器进入站点:www.test.com/status/ 即可出现监控信息 

步骤3:监控信息解读

监控页面信息:
Active connections: 2 
server accepts handled requests
          2       2       3  
Reading: 0 Writing: 1 Waiting: 1

解读:
Active connections: 此时激活连接数信息,并发连接数信息  ******
accepts: 接收建立连接总的数量
handled: 处理连接请求总的数量  PS:通常情况 accpts == handled 
          服务器建立连接最大值 1000  请求建立连接 2000 accepts > handled 1000 
requests:请求包总的数量

 

网站服务日志信息

error.log:记录网站服务运行或者访问过程中错误信息

【待续】 

access.log:记录访问者的访问信息

tail -f /var/log/nginx/access.log    //查看access.log日志信息最新内容,退出:ctl+c,日志信息格式如下:
10.0.0.1 - - [29/Sep/2020:15:03:56 +0800] "GET /favicon.ico HTTP/1.1" 404 153 "-" "Safari%E6%B5%8F%E8%A7%88%E5%99%A8/15609.3.5.1.3 CFNetwork/1128.0.1 Darwin/19.6.0 (x86_64)" "-"
10.0.0.1:记录客户端IP地址
--:记录认证登录用户信息
[29/Sep/2020:15:03:56 +0800]:客户端访问网站时间信息
"GET /favicon.ico HTTP/1.1":获取访问网站的请求方法和资源【和安全有关,小心GET以外的方法】
404:服务状态码信息。200表示正常,常见的还有,301永久重定向、4XX表示请求出错、5XX服务器内部错误
153:访问过程传送字节数,单位为byte
"-":记录访问此页面是通过哪个网站进行引流转发的
"Safari...":记录客户端操作系统、浏览器版本、浏览器内核等信息

小知识:
在站点目录中加入网站图标,并改名为"favicon.ico"可以在客户浏览此站点时,在浏览器上显示此图标。

 有专门的日志分析工具,可直观分析日志信息。

 

网站服务LNMP架构

LNMP介绍

LNMP:Linux Nginx MySQL PHP

【待】 

网站架构工作原理

步骤1:用户发出访问网站服务请求
步骤2:网站服务端会接收请求,并判断请求资源信息
  静态资源信息——由nginx静态网站服务进行处理,将站点目录中资源信息进行传输
  动态资源信息——由nginx利用fastcgi接口,将动态访问信息转发给PHP服务
步骤3:PHP服务接收到动态资源访问请求
  方式一:直接识别动态资源代码文件,进行翻译或解析,转换成HTML代码信息
  方式二:需要和数据库建立连接,读取数据或存储数据信息,再将PHP代码翻译为HTML代码,进行响应
步骤4:nginx服务接收到PHP响应HTML静态资源代码信息,会转发客户端浏览器
步骤5:客户端浏览器识别HTML代码信息,加载显示网站页面

 

LNMP部署

——系统准备——

Linux:
    系统中,/tmp/的目录权限是否是1777(1为t权限)。某些程序运行过程中需要产生临时文件,需要对tmp目录有写入权限。
    系统安全优化
    yum优化
Nginx:
    确认好nginx站点目录权限755,属主权限设置为worker
    确认好Nginx服务配置信息,并进行语法检查:nginx -t 

——PHP部署(yum方式)——

【编译安装方式可参考:https://www.cnblogs.com/ksy-c/p/12785238.html 】

步骤1:确认系统是否已经存在了PHP相关程序,有则删除,避免冲突。

rpm -qa|grep php*   //查看是否有PHP相关程序
yum remove -y hph-xxx   //删除PHP相关程序,如php-cli、php-fpm等

步骤2:更新PHP软件下载源

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
【查看yum源:ll /etc/yum.repos.d/】

步骤3:PHP程序相关软件下载安装

yum install -y php71w php71w-cli php71w-common php71w-devel php71w-embedded  php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache  php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb
【这里用 php71w 版本,可以选择其他版本,如 php72w 】

步骤4:启动服务的检查

systemctl start php-fpm    //启动服务
ps -ef|grep php    //查看服务进程信息
netstat -lntup    //查看服务端口信息
systemctl stop php-fpm //停止服务
知识扩展1: 
TCP:传输控制协议 面向连接的网络协议
  特点:可以保证数据传输的可靠性
  用途:HTTP访问网站页面、FTP、邮件服务
UDP:用户报文协议  无连接网络协议
  特点:可以保证数据传输效率
  用途:DNS解析、视频通讯、语音通讯

知识扩展2:
netstat -lntup命令参数解释:
    -l:列表显示端口和服务进程信息
    -n:以数字方式显示信息
    -t:显示tcp信息的端口和服务进程信息
    -u:显示udp信息的端口和服务进程信息
    -p:显示服务进程信息
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address     Foreign Address     State     PID/Program name   
tcp        0      0 127.0.0.1:9000    0.0.0.0:*           LISTEN    1687/php-fpm: master
tcp        0      0 0.0.0.0:80        0.0.0.0:*           LISTEN    1968/nginx: master 
tcp        0      0 0.0.0.0:22        0.0.0.0:*           LISTEN    1311/sshd          
tcp        0      0 127.0.0.1:25      0.0.0.0:*           LISTEN    1490/master        
tcp6       0      0 :::80             :::*                LISTEN    1968/nginx: master 
tcp6       0      0 :::22             :::*                LISTEN    1311/sshd          
tcp6       0      0 ::1:25            :::*                LISTEN    1490/master  

——数据库安装部署——

【这里用MariaDB数据库代替MySQL进行部署】

步骤1:直接用yum方法安装

yum install -y mariadb mariadb-server
//mariadb为工具包,操作管理数据库
//mariadb-server为服务端,用户通过网络访问数据库的服务

步骤2:启动数据库程序并简单配置

systemctl start mariadb    //启动数据库服务
mysqladnin -uroot password xxx    //为root用户设置密码xxx
mysql -uroot -pxxx    //连接数据库
drop databases test;    //没用的库比如test要删掉
select user, host from mysql.user;    //查看操作数据库的用户
delete from user where user="";   //删除无用的数据库用户信息
exit 或 quit  //退出数据库

 

将LNMP架构进行串联

步骤1:让nginx和php进行串联:编写nginx配置文件

server {
      listen       80 default_server;
      server_name  bbs.test.com;
      root         /html/bbs;
      index        index.php index.html;  
      location ~ \.php$ {    //匹配客户端访问php动态资源信息,【~区分大小写,~*不区分大小写,\为转义符号】
         fastcgi_pass  127.0.0.1:9000;    //将动态资源请求抛送给后端PHP程序,Python用uwsgi_pass方法
         root          /html/bbs;    //告知PHP程序,默认资源信息保存目录
         fastcgi_index index.php;    //默认处理的index.php首页文件,需在站点目录下有此文件
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;//把请求信息更精准地告诉后端
         include fastcgi_params;
      }
    } 

步骤2:在站点目录中创建php动态代码文件,重启nginx和php-fpm服务

<?php
phpinfo();
?>  //php动态代码文件

systemctl restart nginx  //重启nginx服务
systemctl start php-fpm  //启动php-fpm服务
bbs.test.com/xxx.php  //在浏览器中查看站点页面

步骤3:php和数据库进行串联

在站点目录中创建php文件,利用php代码进行串联:

<?php
      $servername = "localhost";    //服务器名,数据库在同一台主机上用localhost
      $username = "root";    //用户名
      $password = "123456";    //密码
      $conn = mysqli_connect($servername, $username, $password);
      if ($conn) {
           echo "mysql successful by root !\n";    //连接成功
      }else{
           die("Connection failed: " . mysqli_connect_error());    //连接失败+错误信息
      }
?>

 

网站服务动态资源发布

步骤1:获取网站动态资源代码,上传解压

//省略,详见上文介绍。这里以 Discuz_X3.4_SC_UTF8【20200818】为例。

步骤2:进行网站初始化(针对从开源网站获取的代码)

一、修改配置文件:/etc/php.ini,改动配置文件后需要重启服务:systemctl restart php-fpm
二、站点特定目录的权限调整
  1.更改config目录属主属组给apache:chown -R apache.apache config/
  nginx和apache两个在一起,一般建议将工作进程用户都统一归一个管:
    改/etc/nginx/nginx.conf配置文件中的user为apache【建议】
    或者在/etc/php-fpm.d/www.conf配置文件中改user为nginx
  2.更改data目录
属主属组给apache:chown -R apache.apache data/
  3.更改uc_client目录属主属组给apache:chown -R apache.apache uc_client/
  4.更改uc_server目录属主属组给apache:chown -R apache.apache uc_server/
三、选择全新安装
四、数据库信息设置
填写数据库信息
    数据库服务器:       //数据库服务器地址, 一般为 localhost
    数据库名:          //需预先在数据库中创建
    数据库用户名:        
    数据库密码:        
    数据表前缀:        //同一数据库运行多个论坛时,请修改前缀(数据库名)
    系统信箱 Email:    //用于发送程序错误报告或有其他问题时联系到网站管理人员
填写管理员信息
    管理员账号:        
    管理员密码:        //管理员密码不能为空
    重复密码:        
    管理员 Email:
在点击下一步前,需要在数据库中创建相应的数据库并授权给用户:
create database bbs;
grant all on bbs.* to 'bbs'@'localhost' identified by '123456';

步骤3:测试访问

发贴时图片无法上传:
    将以下目录属主属组给虚拟用户apache
    站点目录bbs
    chown apache /var/lib/nginx/
  【待】

【安全人员关注:是否有安全隐患, 

数据库要防止不安全SQL注入

 【待】

 

posted @ 2020-10-01 01:44  101010101  阅读(382)  评论(1)    收藏  举报