nginx和LAMP构建Discuz论坛

目录

一、nginx

1、nginx网站服务:

2、nginx的主要功能:

3、安装nginx:

4、nginx命令:

5、nginx的配置文件内容:

1、主配置文件:nginx.conf

2、events块:

3、http块:

4、http中的server模块:

5、location块:

6、root目录和alias目录:

6、nginx的四大功能模块:

7、实验:

1、统计nginx的访问状态:status

2、配置nginx的虚拟主机

3、基于ip的虚拟主机

4、基于端口配置虚拟主机:

5、基于授权的访问控制:(一般内部来值访问控制)

二、LNMP构建DIscuz论坛

1、LNMP:

2、安装配置步骤


一、nginx

1、nginx网站服务:

是一个高性能,轻量级的web服务软件,稳定性强,对系统的资源消耗低

高性能:对http并发连接的处理能力高,单台物理服务器可支持30000-50000个并发请求。(在实际操作中,为了维持服务器的稳定,一般会设置在15000-20000个左右)

轻量级:nginx软件很小,安装所需的空间也很小

2、nginx的主要功能:
  1. 处理静态网页:支持html、htm 图像
  2. 支持反向代理(负载均衡)。负载均衡靠算法实现

  1. 有处理动态内容能力较差,有Tomcat或者srpingclound处理动态的程序
  2. 虚拟主机:一个nginx可以配置多个虚拟主机。每一个虚拟主机都可以作为一个域名和站定。每个虚拟主机都可以拥有独立的配置和资源
  3. 可以实现URL重定向:可以对URL的请求进行修改和重新定向(跳转页面)
  4. nginx自带缓存机制:既可以缓存静态文件也可以缓存动态内容
  5. 日志记录:服务日志,访问日志和报错日志(在nginx程序目录中)。控制日志还是在/var/log/messages中
  6. 可作为代理服务器,通过代理可以访问其他的后端服务器

3、安装nginx:

先关闭防火墙和安全机制:

systemctl stop firewalld

systemctl disable firewalld

setenforce 0

然后安装依赖环境;

yum -y install gcc pcre-devel openssl-devel zlib-devel openssl  openssl-devel

创建程序用户:useradd -M -s /sbin/nologin nginx

安装包解压

开始配置:

./configure --prefix=/usr/local/nginx \ #指定安装目录

--user=nginx \ #指定运行用户

--group=nginx \ #指定运行组

--with-http_ssl_module \ #开启对http的ssl加密支持

--with-http_v2_module \ #支持http2.0协议

--with-http_realip_module \ #允许nginx获取客户端的真实ip

--with-http_stub_status_module \ #启动了stud_status模块,可以获取nginx的访问和状态信息

--with-http_gzip_static_module \ #支持压缩文件内容 图片

--with-pcre \ #相当于动态库

--with-stream \ #开启tcp/udp的代理模块支持,也就是四层转发

--with-stream_ssl_module \ #支持四层转发的ssl加密

--with-stream_realip_module #nginx可以从四层转发的头部信息中获取客户端的真实ip

编译安装make && make install

进入软件目录:

conf:保存nginx的所有配置文件,其中nginx.conf是nginx的主配置文件

html:保存nginx的web文件,.html结尾的文件,图片

50x.html:是nginx默认的报错提示页面

logs:保存日志的目录,路径可以改

access.log:记录的是访问日志记录

error.log:记录报错日志403 404 500

sbin:放的是nginx的二进制启动脚本

chown -R nginx.nginx /usr/local/nginx #修改权限

ln -s /usr/local/nginx/sbin/nginx /usr/sbin/ #让系统识别nginx的操作命令

vim /lib/systemd/system/nginx.service #修改配置文件

[Unit]

Description=nginx - high performance web server

Documentation=http://nginx.org/en/docs/

After=network-online.target remote-fs.target nss-lookup.target

Wants=network-online.target

[Service]

Type=forking

PIDFile=/usr/local/nginx/run/nginx.pid

#注意文件位置,如果不对 启动不了

ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

#注意启动文件位置

ExecReload=/bin/kill -s HUP $MAINPID

ExecStop=/bin/kill -s TERM $MAINPID

[Install]

WantedBy=multi-user.target

mkdir -p /usr/local/nginx/run/

#创建目录

vim /usr/local/nginx/conf/nginx.conf

#修改配置文件

pid /usr/local/nginx/run/nginx.pid;

#找到 pid的位置修改  

改配置文件,一定要重启服务

systemctl daemon-reload

#重新加载配置

systemctl start nginx.service

vim /usr/local/nginx/html/index.html

100 dd 删除原内容

添加新内容:

this is test!

打开浏览器,访问ip地址

4、nginx命令:

nginx -t:检测nginx配置文件以及配置文件语法是否正确

nginx -v:只查看版本

nginx -V:及查看版本又查看nginx支持的配置模块

nginx -s:给nginx主程序发送信号,不能开启nginx服务

nginx -s信号类型:stop、restart、reload

yum安装方式:需要epel源,直接安装nginx

工作中关键的应用程序以编译安装为主

5、nginx的配置文件内容:
1、主配置文件:nginx.conf

vim /usr/local/nginx/conf/nginx.conf

全局配置:

2、events块:

配置影响nginx服务器与用户的网络连接

一般设置并发15000-20000个

进入limits.conf

vim /etc/security/limits.conf

最后一行添加:

# 65535 为Linux系统最大打开文件数

* soft nproc 65535

* hard nproc 65535

* soft nofile 65535

* hard nofile 65535

没办法source和sysctl -p,修改完之后只能重启reboot

注意:设置保存后,需要重新ssh连接才会看到配置更改的变化

vim  /etc/security/limits.conf

# 65535 为Linux系统最大打开文件数

* soft nproc 65535

* hard nproc 65535

* soft nofile 65535

* hard nofile 65535

reboot

设置完以上的才能应用最大并发:

3、http块:

http块:配置代理 缓存 日志 虚拟主机和第三方模块

4、http中的server模块:

配置虚拟主机的设备。在http的模块中可以有多个server(可以配置多个虚拟主机)

5、location块:

location模块只能配置在server模块中,作用是匹配uri,一个server模块中可以有多个location,可以匹配多个location

注意:location 匹配的内容来源是来自网页的URI,而不是URL

(URL代表整个链接如:www.baidu.com/images/search,而URI则是/images/search。

所以nginx的location匹配的是URI)

6、root目录和alias目录:

nginx是通过alias设置虚拟目录,在nginx的配置中,alias目录和root目录是有区别的:

alias:指定的目录是准确的,即location匹配访问的path目录下的文件直接是在alias目录下查找的;root指定访问页面的根目录是拼接

root:指定的目录是location匹配访问的path目录的上一级目录,这个path目录一定要是真实存在root指定目录下的;alias指定的是完整目录绝对路径

location /:/表示nginx配置文件的家目录,默认就是/。所以访问20.0.0.10就是20.0.0.0/

location /test:表示访问test目录。20.0.0.10/test。

访问20.0.010/test,就会跳转到下一行root/alias目录里执行index.html文件

6、nginx的四大功能模块:

1、proxy:代理模块,核心的功能模块之一,配置反向代理的功能

proxy_pass 指定

proxy_pass定义在location当中

  1. headers功能模块:

处理请求和头部的响应信息,主要用来获取客户端的真实ip

  1. upstream模块:

七层反向代理模块,只能配置在http模块中,或者stream模块中

  1. stream模块:

四层反向代理模块,只能配置在全局模块中(最上面),不能在http模块中

7、实验:
1、统计nginx的访问状态:status

一个server里可以有多个location

Active Connections:2

表示当前活动连接数

server accepts 表示已经处理的连接数

handled 表示成功的tcp握手次数

requests 已经处理的请求数

Reading:0 服务端正在从客户端读取数据,正在读取客户端请求的连接数

Writing:1 服务器正在将响应数据发送给客户端,正在向客户端写入相应的连接数

Waiting:1 表示有链接处于空闲状态,当前等待客户端请求的连接数。time_wait

2、配置nginx的虚拟主机

1、基于域名的虚拟主机

创建域名家目录

vim /etc/hosts 配置本地hosts文件,做域名映射,一个ip可以对应对个域名

再去虚拟机浏览器访问域名:

3、基于ip的虚拟主机

ifconfig ens33:0 20.0.0.100/24

加一个监听地址+端口就行

4、基于端口配置虚拟主机:

20.0.0.100:8888

5、基于授权的访问控制:(一般内部来值访问控制)

先安装httppasswd工具

yum install -y httpd-tools

实验4、基于客户端的访问控制:

删除设密码

二、LNMP构建DIscuz论坛

1、LNMP:

LNMP:企业网站的应用模式之一,早期的论坛架构,就是LNMP搭建的

L:linux,平台,操作系统,是另外是哪个组件的运行平台

N:nginx 提供前端页面

M:MySQL数据库,开源关系型的数据库,主要用来保存用户的账号信息

P:PHP,是一种开发动态页面的编程语言,解析动态页面,起到中间件的作用(在nginx和数据库的中间),在中间沟通nginx和数据库,以请求数据库上的信息。

2、安装配置步骤

装数据库:

8g内存,4核

先清一下缓存

关闭防护墙和安全机制

mysql -u root -p123456 登录

然后安装PHP

PHP的三个配置文件:

php-fpm.conf #PHP的主配置文件(进程服务)

php.ini #PHP的主配置文件(对全局生效)

www.conf #PHP的扩展配置文件

1170gg

/usr/local/php/etc/php-fpm.conf文件

先cp改名,去掉后缀

/usr/local/php/erc/php-dpm.d/www.conf

起一个服务看一下端口,端口起服务真正可用

配置nginx:

fastcgi:是一种用于连接web服务器(nginx httpd)与应用程序之间的通信协议

可以提供一种高效 可靠 灵活的方式处理动态页面的内容请求

web服务程序和动态应用程序之间进行交互

fastcgi_pass 127.0.0.1:9000  设置fastcgi的服务器地址和端口

也就是PHP的监听地址和端口

fastcgi_index index.php:指定请求目录时默认访问的文件名

.php .gsp就是动态页面的结尾

.html 静态页面的结尾

fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;

修改路径,将请求的根目录设备为nginx的默认工作目录。匹配root html

fastcgi

$document_root:表示nginx的根目录,默认的工作目录,把这个工作目录的值再传给PHP,让PHP可以调用这个工作目录

include fastcgi_params;

集成,把fastcgi

在数据库操作,让PHP能访问数据库的内容

exit退出

安装论坛文件:
unzip

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值