构建Nginx网站服务和安装论坛

news/2024/5/18 20:10:12/文章来源:https://blog.csdn.net/m0_50854537/article/details/110245785

文章目录

  • 一:编译安装Nginx
    • 1:安装支持软件
    • 2:创建运行用户、组
    • 3:编译安装Nginx
  • 二:Nginx的运行控制
    • 1:检查配置文件
    • 2:启动、停止Nginx
    • 3:使用Nginx服务脚本
  • 三:配置文件 nginx.conf
    • 1:全局配置
    • 2:I/O时间配置
    • 3:HTTP配置
  • 四:访问状态统计
    • 1:配置统计功能
    • 2:访问状态统计
  • 五:配置Nginx的验证功能
    • 1:生成用户生成文件
    • 2:修改配置文件
    • 3:基于客户端的访问控制
  • 六:Nginx虚拟主机
    • 1:基于域名的虚拟主机
    • 2:基于 IP 的虚拟主机
    • 3:基于端口的虚拟主机
  • 七: LNMP 架构部署
    • 1:安装 MySQL 数据库
    • 2:优化调整
    • 3:安装 PHP 解析环境
    • 4:配置 Nginx 支持 PHP 环境
    • 5:配置 Nginx 支持 PHP 解析
  • 八:安装论坛
    • 1:安装论坛软件和增加权限
    • 2:隐藏文件

一:编译安装Nginx

1:安装支持软件

Nginx的配置及运行需要pcre、zlib等软件包的支持,因此应预先安装这些软件的开发包(devel),以便提供相应的库和头文件,确保Nginx的安装顺利完成。

[root@server2 ~]# yum -y install pcre-devel zlib-devel
  • pcre-devel是prel语言的正则表达式库
  • zlib-devel是软件包的开发包,库里面包括头文件静态库甚至源码等资源**

2:创建运行用户、组

Nginx服务程序默认以nobody身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限,增加灵活性,降低安全风险。例如,创建一个名为nginx的用户,不建立宿主文件夹,也禁止登录到shell环境。

[root@server2 ~]# useradd -M -s /sbin/nologin nginx

3:编译安装Nginx

配置Nginx的编译选项时,将安装目录设为/usr/local/ngine,运行用户和组均为Nginx;启用http_status_module模块以支持状态统计,便于查看服务器的连接信息,具体选项根据实际需要来定,配置前可参考“./configure --help”给出的说明。

[root@server2 ~]# tar zxvf nginx-1.12.2.tar.gz 
[root@server2 ~]# cd nginx-1.12.2/
[root@server2 nginx-1.12.2]# ./configure --prefix=/usr/local/nginx --user=nginx 
--group=nginx --with-http_stub_status_module
[root@server2 nginx-1.12.2]# make && make install
  • –user=nginx指定其运行时的账户与组
  • –with-http_stub_status_module将状态模块启用

为了使Nginx服务器的运行更加方便,可以为主程序nginx创建链接文件,以便管理员直接执行“nginx”命令就可以调用Nginx的主程序。

[root@server2 nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

二:Nginx的运行控制

1:检查配置文件

与Apache的主程序httpd类似,Nginx的主程序也提供了 “-t” 选项来对配置文件进行检查,以便找出不当或错误的配置。

[root@server2 nginx-1.12.2]# 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

2:启动、停止Nginx

直接运行Nginx即可启动Nginx服务器,这种方式将使用默认的配置文件。

[root@server2 nginx-1.12.2]# cd
[root@server2 ~]# nginx

通过检查Nginx程序的监听状态,或者在浏览器中访问此Web服务(默认页面将显示“Welcome to nginx”),也可以确认Nginx服务是否正常运行。

[root@server2 ~]# netstat -anpt | grep nginx
tcp       0       0 0.0.0.0:80        0.0.0.0:*      LISTEN      55848/nginx: master 

主程序Nginx支持标准的进程信号,通过kill或killall命令发送HUP信号表示重载配置,发送QUIT信号表示退出进程,发送KILL信号表示杀死进程(通过 “-s” 选项指定信号种类)。

[root@server2 ~]# killall -s HUP nginx            # -s HUP 等同于 -1 
[root@server2 ~]# netstat -anpt | grep nginx
tcp     0       0 0.0.0.0:80          0.0.0.0:*      LISTEN      55848/nginx: master 
[root@server2 ~]# killall -s QUIT nginx           # -s QUIT 等同于 -3
[root@server2 ~]# netstat -anpt | grep nginx

3:使用Nginx服务脚本

为了使Nginx服务的启动、停止、重载等操作更加方便,可以编写Nginx服务脚本,并使用chkconfig和service工具来进行管理,也更加符合RHEL系统的管理习惯。

[root@server2 ~]# vi /etc/init.d/nginx
#!/bin/bash
#chkconfig: 35 99 33
#description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"           #主程序路径
PIDF="/usr/local/nginx/logs/nginx.pid"       # PID 存放路径
case "$1" instart)$PROG;;stop)kill -s QUIT $(cat $PIDF)               #根据 PID 终止Nginx进程;;reload)kill -s HUP $(cat $PIDF)                #根据进程号重载配置;;restart)$0 stop$0 start;;*)echo "Usage: $0 {start|stop|restart|reload}"exit 1
esac
exit 0
[root@server2 ~]# chmod +x /etc/init.d/nginx 
[root@server2 ~]# chkconfig --add nginx           #添加为系统服务

这样一来,就可以通过Nginx脚本来启动、停止、重启、重载Nginx服务器了,方法是在执行时添加相应的start、stop、restart、reload参数。

三:配置文件 nginx.conf

在Nginx服务器的主配置文件 /usr/local/nginx/conf/nginx.conf,包括全局配置、I/O事件配置和HTTP配置这三大块内容,配置语句的格式为 “关键字 值;” (末尾以分号表示结束),以 “#” 开始的部分表示注释

1:全局配置

由各种配置语句组成,不使用特定的界定标记,全局配置部分包括Nginx服务的运行用户、工作进程数、错误日志、PID存放位置等基本设置。

[root@server2 ~]# ln -s /usr/local/nginx/conf/nginx.conf /etc/
[root@server2 ~]# vi /etc/nginx.conf 
部分修改后
user  nginx nginx;                       #运行用户
worker_processes  4;                     #工作进程数量#error_log  logs/error.log;
#error_log  logs/error.log  notice;
error_log  logs/error.log  info;         #错误日志文件的未知#pid        logs/nginx.pid;              #PID文件的位置

2:I/O时间配置

使用 “events { }” 界定标记,用来指定Nginx进程的 I/O 响应模型,每个进程的连接数等设置。对于2.6及以上版本的内核,建议使用epoll模型以提高性能;每个进程的连接数根据实际需要来定,一般在10000以下(默认为1024)。

部分修改后
events {use epoll;worker_connections  4096;
}

3:HTTP配置

使用 “http{ }” 界定标记,包括访问日志、HTTP端口、网页目录、默认字符集、连接保持。

部分修改后
http {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;server {                                  #Web服务的监听位置listen       80;                      #监听地址及端口server_name  localhost;               #网站名称charset utf-8;                            #网页的默认字符集access_log  logs/aa.com.access.log  main;location / {                              #根目录配置root   html;                          #网站根目录的位置index  index.html index.htm;          #默认首页}

查看和更改系统本地打开资源数

[root@server2 ~]# ulimit -n
1024
[root@server2 ~]# ulimit -n 65535 >> /etc/rc.local     #增加连接限制数量 
[root@server2 ~]# ulimit -n
65535

四:访问状态统计

1:配置统计功能

要使用Nginx的状态统计功能,出了启用内建模块以外,还需要修改 nginx.conf 配置文件,指定访问位置并添加 stub_status 配置代码。

[root@server2 ~]# vi /etc/nginx.conf 
找到
location / {root   html;index  index.html index.htm;}           location ~ /status {              #添加:访问位置为 /statusstub_status on;               #添加:打开状态统计功能             access_log off;               #添加:关闭此位置的日志记录}  
[root@server2 ~]# systemctl restart nginx

2:访问状态统计

新的配置生效以后,在浏览器中访问Nginx服务器的/status 网站位置,可以看到当前的状态统计信息,如图所示,“Active connections”表示当前的活动连接数,而“server accepts handled requests”表示已经处理的连接信息。
在这里插入图片描述

[root@server2 ~]# cd /usr/local/nginx/logs/
[root@server2 logs]# ll
总用量 12
-rw-r--r--. 1 root root  221 1128 13:07 aa.com.access.log   #站点下启用的日志文件
-rw-r--r--. 1 root root    0 1127 20:59 access.log
-rw-r--r--. 1 root root 1273 1128 13:08 error.log
-rw-r--r--. 1 root root    6 1128 13:04 nginx.pid
[root@server2 logs]# cat aa.com.access.log | wc -l             #查看请求数
1

三个数字依次表示已处理的连接数(1)、成功的 TCP 握手次数(1)、已处理的请求数(1),
Reading表示:读取客户端的连接数、Writing表示:响应数据到客户端的数量、Waiting表示:升启keep-alive的情况卜,这个值等于active-(reading+writing),意思就是Nginx已经处理完正在等候下一次请求指令的驻留连接。

五:配置Nginx的验证功能

1:生成用户生成文件

使用 htpasswd 生成用户认证文件,如果没有该命令,可使用 yum 安装 httpd-tools 软件包,在 /usr/local/nginx/ 目录下生成了 passwd.db 文件,用户名是jack,密码输入两次。

[root@server2 ~]# yum -y install httpd-tools
[root@server2 ~]# htpasswd -c /usr/local/nginx/passwd.db jack
New password: 
Re-type new password: 
Adding password for user jack

修改密码文件的权限为400,将所有者改为 nginx ,设置 nginx 的运行用户能够读取

[root@server2 ~]# chmod 400 /usr/local/nginx/passwd.db 
[root@server2 ~]# chown nginx /usr/local/nginx/passwd.db 

2:修改配置文件

修改主配置文件 nginx.conf ,添加相应认证配置项。检查语法,重启服务。

[root@server2 ~]# vi /etc/nginx.conf 
找到location / {root   html;index  index.html index.htm;auth_basic "secret";                              #添加:添加认证配置auth_basic_user_file /usr/local/nginx/passwd.db;  #添加
[root@server2 ~]# 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
[root@server2 ~]# systemctl restart nginx

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

3:基于客户端的访问控制

deny IP/IP 段:拒绝某个 IP或IP 段的客户端访问
allow IP/IP段:允许某个 IP/IP 段的客户端访问
规则从上往下执行,如匹配则停止,不再往下匹配

[root@server2 ~]# vi /etc/nginx.conf 
找到
location / {root   html;index  index.html index.htm;allow all;                     #添加:先允许deny 20.0.0.1/32;              #添加:后拒绝auth_basic "secret";auth_basic_user_file /usr/local/nginx/passwd.db
}[root@server2 ~]# systemctl restart nginx

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

[root@server2 ~]# vi /etc/nginx.conf 
找到
location / {root   html;index  index.html index.htm;deny 20.0.0.1/32;          #添加:先拒绝allow all;                 #添加:后允许auth_basic "secret";auth_basic_user_file /usr/local/nginx/passwd.db
}
[root@server2 ~]# systemctl restart nginx

在这里插入图片描述
由于不需要做权限的设定,要删除

location / {root   html;index  index.html index.htm;
}   
location ~ /status {stub_status on;access_log off;
[root@server2 ~]# systemctl restart nginx

六:Nginx虚拟主机

1:基于域名的虚拟主机

加入 www.aa.com 和 www.bb.com 这两个域名,他们都指向同一个服务器 IP 地址,用于实现不同的域名访问不同的虚拟主机。
修改 server{} 中的配置,加入一个新的 server{} 段,对应两个域名

[root@server2 ~]# vi /etc/nginx.conf 
修改
server {listen       80;server_name  www.aa.com;                     #域名charset utf-8;access_log  logs/aa.com.access.log  main;    #日志文件location / {root   /var/www/aa;                       #www.aa.com 的工作目录index  index.html index.htm;}
合适位置添加新的(注意大括号)server {listen  80;server_name www.bb.com;charset utf-8;access_log logs/bb.com.access.log;location / {root  /var/www/bb;index index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}
}
[root@server2 ~]# 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
[root@server2 ~]# systemctl restart nginx

文件生效、添加映射和测试

[root@server2 ~]# mkdir -p /var/www/aa
[root@server2 ~]# mkdir -p /var/www/bb
[root@server2 ~]# echo "<h1>this is my web aa.</h1>" > /var/www/aa/index.html
[root@server2 ~]# echo "<h1>this is my web bb.</h1>" > /var/www/bb/index.html
[root@server2 ~]# vi /etc/hosts
20.0.0.11   www.aa.com   www.bb.com
[root@server2 ~]# curl http://www.aa.com
<h1>this is my web aa.</h1>
[root@server2 ~]# curl http://www.bb.com
<h1>this is my web bb.</h1>

2:基于 IP 的虚拟主机

目前主机有一个网卡,IP 地址为20.0.0.11,再配置一个虚拟 IP 为 192.168.1.11.

[root@server2 ~]# ifconfig ens33:1 192.168.1.11/24
[root@server2 ~]# ifconfig 
ens33:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.1.11  netmask 255.255.255.0  broadcast 192.168.1.255ether 00:0c:29:49:77:39  txqueuelen 1000  (Ethernet)
[root@server2 ~]# vi /etc/nginx.conf 
server {listen       20.0.0.11:80;      #www.aa.com地址为20.0.0.11server_name  www.aa.com;
server {listen       192.168.1.11:80;   #www.bb.com地址为192.168.1.11server_name www.bb.com;        
[root@server2 ~]# 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
[root@server2 ~]# systemctl restart nginx         
[root@server2 ~]# netstat -anpt | grep nginx      #两个监听地址
tcp      0    0 192.168.1.11:80      0.0.0.0:*      LISTEN      59018/nginx: master 
tcp      0    0 20.0.0.11:80         0.0.0.0:*      LISTEN      59018/nginx: master 
[root@server2 ~]# curl http://20.0.0.11
<h1>this is my web aa.</h1>
[root@server2 ~]# curl http://192.168.1.11
<h1>this is my web bb.</h1>

3:基于端口的虚拟主机

选择系统中不使用的端口,将多个端口映射到同一个IP地址或不同的 IP 。

[root@server2 ~]# vi /etc/nginx.conf 
server {listen       20.0.0.11:6666;     #监听6666端口server_name  www.aa.com;
server {listen       192.168.1.11:9999;  #监听9999端口server_name www.bb.com;
[root@server2 ~]# systemctl restart nginx
[root@server2 ~]# netstat -anpt | grep nginx
tcp    0    0 192.168.1.11:9999    0.0.0.0:*   LISTEN     59130/nginx: master 
tcp    0    0 20.0.0.11:6666       0.0.0.0:*   LISTEN     59130/nginx: master        
[root@server2 ~]# curl http://20.0.0.11:6666
<h1>this is my web aa.</h1>
[root@server2 ~]# curl http://192.168.1.11:9999
<h1>this is my web bb.</h1>

LNMP 架构部署要还原,删除添加的 server{}

[root@server2 ~]# vi /etc/nginx.conf
server {listen       20.0.0.11:80;server_name  www.aa.com;location / {root   html;                         #还原index  index.html index.htm;
[root@server2 ~]# 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
[root@server2 ~]# systemctl restart nginx    

七: LNMP 架构部署

LAMP 平台是目前应用最为广泛的网站服务器架构,其中 ”A“ 对应着 Web 服务软件 Apache HTTP Server。
就像构建 LAMP 平台一样,构建 LNMP 平台也需要 Linux 服务器、Mysql 数据库和 PHP 解析环境,区别主要在 Nginx 与 PHP 的协作配置上。

1:安装 MySQL 数据库

为了与 Nginx、PHP 环境保持一致,仍选择采用源代码编译的方式安装 Mysql 组件。

[root@server2 ~]# yum -y install ncurses ncurses-devel bison cmake
[root@server2 ~]# useradd -s /sbin/nologin mysql                   #创建不可登录用户
[root@server2 ~]# tar zxvf mysql-boost-5.7.20.tar.gz 
[root@server2 ~]# cd mysql-5.7.20/
[root@server2 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
[root@server2 mysql-5.7.20]# make && make install

2:优化调整

数据库目录进行权限调整

[root@server2 mysql-5.7.20]# chown -R mysql:mysql /usr/local/mysql/

调整配置文件

[root@server2 mysql-5.7.20]# 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/mysqld.pid
server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,
N0_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

设置环境变量

[root@server2 mysql-5.7.20]# cd
[root@server2 ~]# chown mysql.mysql /etc/my.cnf
[root@server2 ~]# echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH'>> /etc/profile
[root@server2 ~]# source /etc/profile

初始化数据库

[root@server2 ~]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql 
--datadir=/usr/local/mysql/data
[root@server2 mysql]# cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system

启动服务并登录

[root@server2 ~]# systemctl start mysqld      #启动服务
[root@server2 ~]# systemctl enable mysqld     #开机自启
[root@server2 ~]# mysqladmin -uroot -p123123  #初始化密码
Enter password:                               #直接回车
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
[root@server2 ~]# mysql -uroot -p123123       #登录
mysql> exit                                   #退出
Bye

3:安装 PHP 解析环境

使用 yum 工具安装 PHP 的依赖包

[root@server2 ~]# yum -y install libjpeg libjpeg-devel libpng libpng-devel 
freetype freetype-devel libxml2 libxml2-devel zlib zlib curl curl-devel openssl 
openssl-devel

编译安装 PHP

[root@server2 ~]# tar jxvf php-7.1.10.tar.bz2 
[root@server2 ~]# cd php-7.1.10/
[root@server2 php-7.1.10]# ./configure --prefix=/usr/local/php            
--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-fpm 
--enable-mbstring --enable-xml --enable-session --enable-ftp 
--enable-pdo --enable-tokenizer --enable-zip
[root@server2 php-7.1.10]# make && make install

复制模板文件作为 PHP 的主配置文件并编辑 ini 文件

[root@server2 ~]# cd php-7.1.10/
[root@server2 php-7.1.10]# cp php.ini-development /usr/local/php/lib/php.ini
[root@server2 php-7.1.10]# vi /usr/local/php/lib/php.ini 
mysqli.default_socket = /usr/local/mysql/mysql.sock      #:1170行 进行修改
date.timezone = Asia/Shanghai                            #:939行  进行修改

验证安装的模块

[root@server2 php-7.1.10]# /usr/local/php/bin/php -m | wc -l
38
[root@server2 php-7.1.10]# cd

4:配置 Nginx 支持 PHP 环境

复制模板文件 php-fpm.conf.default 作为 PHP-FPM 的配置文件

[root@server2 ~]# cd /usr/local/php/etc/
[root@server2 etc]# cp php-fpm.conf.default php-fpm.conf
[root@server2 etc]# cd /usr/local/php/etc/php-fpm.d/
[root@server2 php-fpm.d]# cp www.conf.default www.conf
[root@server2 php-fpm.d]# cd /usr/local/php/etc/

修改 php-fpm.conf 配置文件

[root@server2 etc]# vi php-fpm.conf
pid = run/php-fpm.pid                       #去点前面的分号,确定 pid 文件位置

启动 PHP-FPM 模块,进程使用9000端口

[root@server2 ~]# /usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini 
[root@server2 ~]# netstat -anpt | grep 9000
tcp     0    0 127.0.0.1:9000      0.0.0.0:*     LISTEN      85196/php-fpm: mast 

设置软连接,方便命令使用

[root@server2 ~]# ln -s /usr/local/php/bin/* /usr/bin/

5:配置 Nginx 支持 PHP 解析

在 Nginx 的主配置文件中的cserver{ } 配置段,将 PHP 的网页请求转给 FPM 模块处理。

[root@server2 ~]# vi /etc/nginx.conf 
location ~ \.php$ {root           html;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;include        fastcgi_params;}
[root@server2 ~]# systemctl start nginx

创建 php 测试页面

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

在这里插入图片描述
测试数据库工作是否正常

[root@server2 ~]# mysql -uroot -p123123
mysql> create database bbs;
Query OK, 1 row affected (0.01 sec)mysql> show databases;           #查看数据库        
+--------------------+
| Database           |
+--------------------+
| information_schema |
| bbs                |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)
mysql> grant all privileges on bbs.* to 'bbsuser'@'localhost' identified by 'admin123';       #授权
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> grant all privileges on bbs.* to 'bbsuser'@'%' identified by 'admin123';               #授权
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;                                      #刷新
Query OK, 0 rows affected (0.00 sec)mysql> show grants for 'bbsuser';              #查看授权
+--------------------------------------------------+
| Grants for bbsuser@%                             |
+--------------------------------------------------+
| GRANT USAGE ON *.* TO 'bbsuser'@'%'              |
| GRANT ALL PRIVILEGES ON "bbs".* TO 'bbsuser'@'%' |
+--------------------------------------------------+
2 rows in set (0.00 sec)mysql> show grants for 'bbsuser'@'localhost';   #查看授权
+----------------------------------------------------------+
| Grants for bbsuser@localhost                             |
+----------------------------------------------------------+
| GRANT USAGE ON *.* TO 'bbsuser'@'localhost'              |
| GRANT ALL PRIVILEGES ON "bbs".* TO 'bbsuser'@'localhost' |
+----------------------------------------------------------+
2 rows in set (0.00 sec)mysql> exit
Bye
[root@server2 ~]# 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!"
?>

在这里插入图片描述

八:安装论坛

1:安装论坛软件和增加权限

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

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

2:隐藏文件

[root@server2 ~]# cd /usr/local/nginx/html/bbs/
[root@server2 bbs]# mv install/ install.lock
[root@server2 bbs]# chmod 600 install.lock/           #只有root用户可以查看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_762484.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

APACHE(proxy_ajp_stickysession) + TOMCAT实现高可用网站或管理系统集群

1.基础环境安装设置 操作系统环境&#xff0c;APACHE安装&#xff0c;TOMCAT集群安装&#xff0c;TOMCAT测试工程请参见&#xff1a; http://zp820705.iteye.com/blog/1347417 2.TOMCAT配置 Tomcat集群配置后端Tomcat Server为支持AJP的独立服务&#xff0c;前端Apache配置为…

APACHE(proxy) + TOMCAT(session复制)实现高可用网站或管理系统集群

1.方案特点 Apache端可选使用sticky session配置负载均衡&#xff0c;是否配置sticky只是影响负载均衡的粒度。 Apache端配置故障转移. Tomcat端使用官方文档描述的cluster配置&#xff0c;通过多播实现内存方式的session复制&#xff0c;可选使用同步复制和异步复制。 2.建…

建站之星安装_凡科、建站之星、微企点这些国内自助建站平台适合小白用户建网页吗?...

凡科、建站之星、微企点这些国内自助建站平台的使用体验&#xff0c;可以看看下面这篇知乎问答&#xff0c;有些用户评价在里面。免费建站平台靠什么盈利&#xff1f;​www.zhihu.com建立个人网页&#xff0c;如果是更新文章、记录、分享用的话&#xff0c;可以用知乎、博客、简…

cdn对动态网站有作用吗_网站友情链接现在还有效果吗?请看友链的八大作用 - 蜘蛛池博客...

原出处&#xff1a;蜘蛛池博客原文链接&#xff1a;网站友情链接现在还有效果吗&#xff1f;请看友链的八大作用 - 蜘蛛池博客说到友情链接&#xff0c;大家都知道了友情链接有提升网站权重排名的作用&#xff0c;但是除了提升权重排名&#xff0c;你还知道它有其它什么作用吗&…

妙用ISA Server的“重定向”功能解决单位网站不能访问的难题

在A市某单位增加了一条电信出口后&#xff0c;发现通过域名不能访问自己单位的网站了&#xff0c;而原来是可以访问的。具体案例如下&#xff1a;该单位原来只有一条网通的出口&#xff0c;采用ISA Server作为防火墙与代理服务器提供共享&#xff0c;单位的网站在局域网中&…

分享我的部分网站设计作品

转载于:https://blog.51cto.com/peishuangcai/439661

K8S网站页面的搭建

目录一、在master01上操作&#xff08;基于之前的多节点环境基础&#xff09;1.1、创建dashborad工作目录1.2、创建资源1.3、登录一、在master01上操作&#xff08;基于之前的多节点环境基础&#xff09; 1.1、创建dashborad工作目录 [rootmaster01 k8s]# mkdir dashboard [r…

使用Varnish代替Squid做网站缓存加速器的详细解决方案

今天写的这篇关于Varnish的文章&#xff0c;已经是一篇可以完全替代Squid做网站缓存加速器的详细解决方案了。网上关于Varnish的资料很少&#xff0c;中文资料更是微乎其微&#xff0c;希望本文能够吸引更多的人研究、使用Varnish。   在我看来&#xff0c;使用Varnish代替Sq…

集成轻量级的IIS实现打包Asp.Net网站生成exe方便快捷的进行客户演示

本文和大家分享一下打包Asp.Net 网站成为一个exe 方便快捷的进行客户演示&#xff0c;挺不错哦。 在Asp时代有一个NetBox 产品可以把整个Asp网站AllInOne的打包成一个exe&#xff0c;在没有IIS的情况下可以单独运行这个exe来开启整个网站。在Asp.Net 下一直没有类似的产品出现&…

23个精美的的国外网站设计作品推荐欣赏

如果一个网站的内容不是很多而且将来内容也不怎么增加的话&#xff0c;那么制作成单页&#xff08;Single Page Websites&#xff09;的形式是很好的选择。这种只有一个页面的网站形式&#xff0c;曾经非常流行&#xff0c;现在依然有很多人喜欢。如果你也想做一个这样的网站&a…

w10系统下怎么删除服务器,win10系统任务栏图标怎么删除_网站服务器运行维护

win10系统任务栏没有搜索框怎么办_网站服务器运行维护win10系统任务栏没有搜索框的解决方法&#xff1a;1、首先使用鼠标右键点击任务栏&#xff1b;2、然后在弹出的菜单中依次点击【Cortana】、【显示搜索框】选项即可。1、点击“开始”菜单&#xff0c;运行“regedit”打开注…

一个引号导致1个小时网站打不开

咱们就说下这个例子&#xff0c;提醒广大开发在写SQL的时候一定要仔细&#xff01;当时情况是这样的&#xff0c;一个慢SQL把数据库CPU连接数跑满&#xff0c;由于并发压力大&#xff0c;CPU空闲瞬时为0&#xff0c;过一会机器被HANG死&#xff0c;连接不上。因涉及公司隐私问题…

【AI实战】手把手教你文字识别(识别篇:LSTM+CTC, CRNN, chineseocr方法)

文字识别是AI的一个重要应用场景&#xff0c;文字识别过程一般由图像输入、预处理、文本检测、文本识别、结果输出等环节组成。 其中&#xff0c;文本检测、文本识别是最核心的环节。文本检测方面&#xff0c;在前面的文章中已介绍过了多种基于深度学习的方法&#xff0c;可针…

360在网站安全防护中的实践

2019独角兽企业重金招聘Python工程师标准>>> 360在网站安全防护中的实践 作为国内首个集网站漏洞检测、网站挂马监控、网站篡改监控于一体的免费检测平台&#xff0c;360网站安全检测平台拥有全面的网站漏洞库及蜜罐集群检测系统&#xff0c;能够第一时间协助网站检…

为网站赢得用户信任的8个建议

对我们来说&#xff0c;无论是浏览网页还是网上购物&#xff0c;互联网都是一个令人担忧的地方。人们对网上的一切都保持着怀疑的态度。信用卡诈骗和身份假冒的出现&#xff0c;导致网站很难获得用户的信任。要获得用户的信任也不是不可能。通过优化网站上的一些可视化元素&…

01-19asp.net基础--网站登录及验证

第一步&#xff1a; 1&#xff09;首先使用“CodeSmith”将Examinee类实体化&#xff0c;并生成实体类连接数据库的方法&#xff0c;存在解决方案下的“App_Code”文件夹下。 修改一下连接某个数据库&#xff1b; private SqlConnection _Conn;public DBConnection(){String co…

在线问答系统html模板,问答系统网站模板

充值模块会员积分:支持设置会员积分及积分累计升级&#xff0c;并获得购买折扣&#xff1b;会员充值:支持会员充值到账号&#xff0c;用于购买商品&#xff0c;下载点数等开通&#xff1b;微信公共号:添加多个公共号&#xff0c;方便管理及推送信息&#xff1b;自定义菜单:能够…

教你如何下载音乐的网站只试镜

打开IE浏览器&#xff0c;选择“Internet选项”&#xff0c;“浏览历史记录”的“设定” 先把打开的目录清空&#xff0c;然后再打开仅仅供试听的站点。比方“http://www.bandari.net/”&#xff0c;待播放结束以后&#xff0c;就能够看到这个音乐文件已经下载下来了 版权声明&…

python爬虫遇到动态加密怎么办?爬取某点评网站内容

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。 以下文章来源于早起Python &#xff0c;作者刘早起 Python爬虫、数据分析、网站开发等案例教程视频免费在线观看 https://space.bilibili.com/523606542 在前几天针某…