1.检查linux上是否通过yum安装了nginx
rpm -qi nginx
2.解决安装nginx所依赖包
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y
3.源代码编译安装Nginx(在/opt目录下)
1.下载淘宝Nginx源码包
wget http://tengine.taobao.org/download/tengine-2.3.0.tar.gz
2.解压缩源代码
tar -zxvf tengine-2.3.0.tar.gz
3.进入到tengine-2.3.0目录,进行编译安装
cd tengine-2.3.0
4.释放编译文件,指定安装路径
.configure --prefix=/opt/tengine
5.开始编译且安装
make&&make install
6.卸载之前通过yum安装的Nginx
yum remove nginx -y
7.查看nginx的安装目录
ls /opt/tengine
conf:存放nginx所有的配置文件的目录
html:存放前端静态页面
logs:存放nginx的日志目录
sbin:存放nginx的可执行的命令
8.配置nginx的环境变量,支持快速启动(命令行直接nginx)
1.cd /opt/tengine/sbin
2.pwd
3.vim /etc/profile
PATH中加入pwd的结果
9.启动nginx
nginx
10.修改nginx的首页静态模板文件
vim /opt/tengine/html/index.html
输入你想要显示的内容
4.修改nginx的配置文件的
1.vim /opt/tengine/conf/nginx.conf
#查看nginx.conf的内容,过滤掉注释内容,和空白行
[root@wangdachui conf]# grep -v "^#" nginx.conf|grep -v "^$"
#全局变量,工作进程数
worker_processes 1;
events {
epoll;#提高大并发下小活动量的CPU利用率
worker_connections 65536; #根据linux的文件描述符来修改
}
#http代表nginx核心功能块
http {
include mime.types;
default_type application/octet-stream;
gzip on; #开启压缩图片功能
#代表nginx的虚拟主机功能
#当我们访问192.168.226.128:80/就进入这个虚拟主机的配置
#第一个虚拟主机dnf网址
server {
#nginx监听的端口
listen 80;
#填写服务器的域名,没有域名就写ip地址即可
server_name 192.168.226.128;
#路径资源匹配 ,匹配 / 目录
#192.168.226.128:80/
#这是最低级匹配,所有的请求,都会进入这个location
location / {
#root参数指的是定义一个虚拟主机根目录
root html; #填写静态模板文件的绝对路径
#index参数指定首页文件的名字
index index.html;
}
#第二个虚拟主机 韩剧网址
server {
listen 80;#监听80端口
server_name 192.168.226.128;服务器的ip
location / {
root /opt/s18hanju/;
index index.html;
}
}
}
2.nginx功能学习
1.修改windows下的host文件,顶一个假域名
c:windows/system32/drivers/etc/hosts
如果不能编辑,右击选择属性,改变它的权限信息.
2.在最下面写入
linux的IP 域名
192.168.119.147 www.hahahn.com
这样就可以通过域名访问了
3.配置nginx多虚拟机,其实就是在nginx.conf中写入多个server,代表多个虚拟主机
server {
listen 80;
server_name www.s18dnf.com;
location / {
root /opt/s18dnf/;
index index.html index.htm;
}
}
#第二个虚拟主机 韩剧网址
server {
listen 80;
server_name www.s18hanju.com;
location / {
root /opt/s18hanju/;
index index.html;
}
}
注意事项:1.两个server同在http核心模块中的同一级目录
2.server_name如果对应的是本机的IP地址,虚拟主机是自上而下加载的,也就是说不管输 入什么在windows的hosts文件配好的假域名,都只会匹配到第一个虚拟主机
3.如果server_name对应的是域名,则nginx会根据域名找到与之匹配的域名对应的虚拟主机
4.修改完nginx.conf文件要平滑重启
nginx -s reload
nginx -t 查看是否有语法错误
5.nginx的状态模块功能学习
1.修改nginx.conf的配置文件
找到一个server虚拟主机,写入如下配置
location /status {
stub_status on;
}
2.重启nginx,在对应域名后加 /status 加载这个status状态模块功能
3.通过ab压测命令,去给网站发起n多个请求
安装ab压测命令工具
yum -y install httpd-tools
4.给服务器nginx,发起一万个请求
ab -kc 1000 -n 10000 http://192.168.226.128/
5.nginx的access.log访问日志功能
编辑nginx.conf打开如下配置参数
打开如下注释
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;
access_log "pipe:rollback logs/access_log interval=1d baknum=7 maxsize=2G" main;
重启nginx查看logs下的日志文件,检测用户请求信息
tail -f logs/access.log,然后用浏览器访问时,就会看到日志的变化.
6.优化nginx的404页面
修改nginx.conf的404错误页面优化
找到如下配置
#当错误状态码是 40x系列就返回,nginx目录下的40x.html
error_page 404 403 402 400 401 /40x.html;
重启nginx 查看404页面(输入正确的url,后面再随便加点东西)
7.限制IP访问
找到nginx.conf修改如下代码
location / {
#禁止192.168.226.0/24 这个地址段所有的ip访问
deny 192.168.226.1;
root /opt/s18dnf;
index index.html index.htm;
}
8.nginx反向代理功能
准备两台机器,一个是真实的资源服务器,另一个是反向代理服务器,分别安装nginx
一个能正常返回资源,另一个的nginx.conf,找到一个server虚拟主机,location /配置如下:
location / {
# proxy_pass http://代理的主机IP
proxy_pass http://192.168.119.147
}
重启nginx,然后访问代理服务器,就会访问到另一台资源服务器的资源
5.出现的问题
浏览器出现403(访问权限不足)
1.将资源写在了/root下面,普通用户访问不到
2.找到nginx.conf中deny屏蔽掉了此IP地址,删除禁止就好了.
posted @
2019-06-10 17:49
small_caier
阅读(
147)
评论()
编辑
收藏
举报