博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
46次课(Nginx安装 、 默认虚拟主机、Nginx用户认证、Nginx域名重定向)
阅读量:5848 次
发布时间:2019-06-19

本文共 8812 字,大约阅读时间需要 29 分钟。

Nginx安装

46次课(Nginx安装 、 默认虚拟主机、Nginx用户认证、Nginx域名重定向)

进入/usr/local/src目录下

[root@100xuni1 ~]# cd /usr/local/src/

46次课(Nginx安装 、 默认虚拟主机、Nginx用户认证、Nginx域名重定向)

下载Nginx安装包可以去nginx.org或者https://coding.net/u/aminglinux/p/resource/git/blob/master/README.md下载

[root@100xuni1 src]# wget http://124.205.69.170/files/51490000069A64B9/nginx.org/download/nginx-1.14.0.tar.gz                    ##wget下载

46次课(Nginx安装 、 默认虚拟主机、Nginx用户认证、Nginx域名重定向)

解压

[root@100xuni1 src]# tar zxf nginx-1.14.0.tar.gz      ##解压[root@100xuni1 src]# cd nginx-1.14.0/                    ##解压完成后进入

46次课(Nginx安装 、 默认虚拟主机、Nginx用户认证、Nginx域名重定向)

编译

[root@100xuni1 nginx-1.14.0]#  ./configure --prefix=/usr/local/nginx       ##编译

46次课(Nginx安装 、 默认虚拟主机、Nginx用户认证、Nginx域名重定向)

make

[root@100xuni1 nginx-1.14.0]# make

46次课(Nginx安装 、 默认虚拟主机、Nginx用户认证、Nginx域名重定向)

make install

[root@100xuni1 nginx-1.14.0]# make install

46次课(Nginx安装 、 默认虚拟主机、Nginx用户认证、Nginx域名重定向)

nginx目录

[root@100xuni1 nginx-1.14.0]# ls /usr/local/nginx/       ##目录conf  html  logs  sbin[root@100xuni1 nginx-1.14.0]# ls /usr/local/nginx/conf/     ##配置文件目录fastcgi.conf          fastcgi_params          koi-utf  mime.types          nginx.conf          scgi_params          uwsgi_params          win-utffastcgi.conf.default  fastcgi_params.default  koi-win  mime.types.default  nginx.conf.default  scgi_params.default  uwsgi_params.default[root@100xuni1 nginx-1.14.0]# ls /usr/local/nginx/html/       ##样例文件50x.html  index.html[root@100xuni1 nginx-1.14.0]# ls /usr/local/nginx/logs/            ##存放日志[root@100xuni1 nginx-1.14.0]# ls /usr/local/nginx/sbin/      ##他的进程核心的文件nginx

-t也是支持的查询配置文件是否有错

[root@100xuni1 nginx-1.14.0]# /usr/local/nginx/sbin/nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

给nginx创建配置文件还要给他做个启动脚本

[root@100xuni1 nginx-1.14.0]# vim /etc/init.d/nginx       ##启动脚本存放位置,配置这个文件内容去https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/etc_init.d_nginx 把这里的内容拷贝到nginx里

46次课(Nginx安装 、 默认虚拟主机、Nginx用户认证、Nginx域名重定向)

改权限

[root@100xuni1 nginx-1.14.0]#  chmod 755 /etc/init.d/nginx

开机启动

[root@100xuni1 nginx-1.14.0]#  chkconfig --add nginx [root@100xuni1 nginx-1.14.0]# chkconfig nginx on

编辑配置文件这个配置文件需要下载模板

[root@100xuni1 nginx-1.14.0]# cd /usr/local/nginx/conf/    ##进入配置文件[root@100xuni1 conf]# ls          ##这个里边nginx.conf了不用他的用自己的,fastcgi.conf          fastcgi_params          koi-utf  mime.types          nginx.conf          scgi_params          uwsgi_params          win-utffastcgi.conf.default  fastcgi_params.default  koi-win  mime.types.default  nginx.conf.default  scgi_params.default  uwsgi_params.default[root@100xuni1 conf]# mv nginx.conf nginx.conf.1   ##拷贝改名字

开始配置

[root@100xuni1 conf]# vim nginx.conf     ##去https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/nginx.conf下拷贝内容user nobody nobody;                ##用来启动nginx是哪些用户worker_processes 2;               ##定义子进程有几个error_log /usr/local/nginx/logs/nginx_error.log crit;      ##错误日志pid /usr/local/nginx/logs/nginx.pid;             ##pidworker_rlimit_nofile 51200;       ##nginx最多打开多少个文件events{    use epoll;    worker_connections 6000;}http{    include mime.types;    default_type application/octet-stream;    server_names_hash_bucket_size 3526;    server_names_hash_max_size 4096;    log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'    ' $host "$request_uri" $status'    ' "$http_referer" "$http_user_agent"';    sendfile on;    tcp_nopush on;    keepalive_timeout 30;    client_header_timeout 3m;    client_body_timeout 3m;    send_timeout 3m;    connection_pool_size 256;    client_header_buffer_size 1k;    large_client_header_buffers 8 4k;    request_pool_size 4k;    output_buffers 4 32k;    postpone_output 1460;    client_max_body_size 10m;    client_body_buffer_size 256k;    client_body_temp_path /usr/local/nginx/client_body_temp;    proxy_temp_path /usr/local/nginx/proxy_temp;    fastcgi_temp_path /usr/local/nginx/fastcgi_temp;    fastcgi_intercept_errors on;    tcp_nodelay on;    gzip on;    gzip_min_length 1k;    gzip_buffers 4 8k;    gzip_comp_level 5;    gzip_http_version 1.1;    gzip_types text/plain application/x-javascript text/css text/htm     application/xml;    server    {        listen 80;        server_name localhost;        index index.html index.htm index.php;        root /usr/local/nginx/html;        location ~ \.php$         {            include fastcgi_params;            fastcgi_pass unix:/tmp/php-fcgi.sock;            fastcgi_index index.php;            fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;        }        }}
[root@100xuni1 conf]# /usr/local/nginx/sbin/nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

启动

[root@100xuni1 conf]# /etc/init.d/nginx  start

46次课(Nginx安装 、 默认虚拟主机、Nginx用户认证、Nginx域名重定向)

46次课(Nginx安装 、 默认虚拟主机、Nginx用户认证、Nginx域名重定向)

测试

[root@100xuni1 conf]# curl localhost

46次课(Nginx安装 、 默认虚拟主机、Nginx用户认证、Nginx域名重定向)

nginx也支持php解析

46次课(Nginx安装 、 默认虚拟主机、Nginx用户认证、Nginx域名重定向)

46次课(Nginx安装 、 默认虚拟主机、Nginx用户认证、Nginx域名重定向)

默认虚拟主机

46次课(Nginx安装 、 默认虚拟主机、Nginx用户认证、Nginx域名重定向)

配置虚拟主机之前做个操作编辑一下nginx.conf的配置

46次课(Nginx安装 、 默认虚拟主机、Nginx用户认证、Nginx域名重定向)

[root@100xuni1 vhost]# vim aaa.com.confserver{    listen 80 default_server;      server_name aaa.com;    index index.html index.htm index.php;    root /data/wwwroot/default;}[root@100xuni1 vhost]# lsaaa.com.conf[root@100xuni1 vhost]# cat aaa.com.conf server{    listen 80 default_server;    server_name aaa.com;    index index.html index.htm index.php;    root /data/wwwroot/default;}

创建一个目录

[root@100xuni1 vhost]# mkdir /data/wwwroot/default[root@100xuni1 vhost]# cd /data/wwwroot/default/       ##进入default目录下[root@100xuni1 default]#vim index.html           ##定义一段This is the default site.

以上操作完检查有没有错误

[root@100xuni1 default]# /usr/local/nginx/sbin/nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

重启或者重新加载

[root@100xuni1 default]# /etc/init.d/nginx restart      ##重启[root@100xuni1 default]# /usr/local/nginx/sbin/nginx -s reload     ##重新加载

做下测试

[root@100xuni1 default]# curl localhostThis is the default site.            ##刚刚定义的index.html[root@100xuni1 default]# lsindex.html

Nginx用户认证

46次课(Nginx安装 、 默认虚拟主机、Nginx用户认证、Nginx域名重定向)

46次课(Nginx安装 、 默认虚拟主机、Nginx用户认证、Nginx域名重定向)

创建一个虚拟主机

[root@100xuni1 vhost]# vim test.com.conf     #在vhost目录下创建server{    listen 80;    server_name test.com;    index index.html index.htm index.php;    root /data/wwwroot/test.com;    location  /    {                 ##一下都是用户认证相关的配置        auth_basic              "Auth";     ##定义用户认证的名字                     auth_basic_user_file   /usr/local/nginx/conf/htpasswd;   ##用户名密码文件    }}

怎样生成这个用户名密码文件。它也用到了apache生成用户密码的工具,如果以前用过apache直接/usr/local/apache2.4/bin/htpasswd,如果没有安装直接用yum install -y httpd,以前做过实验就不去安装

[root@100xuni1 vhost]# /usr/local/apache2.4/bin/htpasswd -c /usr/local/nginx/conf/htpasswd hanshuoNew password: Re-type new password: Adding password for user hanshuo[root@100xuni1 vhost]# cat /usr/local/nginx/conf/htpasswdhanshuo:$apr1$oe8T3EAL$Lafh6D4c/2p4GphCu2TNP1       ##生成的用户密码 如果想在创建用户密码就不用加-C了,如果加-C就是重置[root@100xuni1 vhost]# /usr/local/apache2.4/bin/htpasswd /usr/local/nginx/conf/htpasswd user1New password: Re-type new password: Adding password for user user1[root@100xuni1 vhost]# cat /usr/local/nginx/conf/htpasswdhanshuo:$apr1$oe8T3EAL$Lafh6D4c/2p4GphCu2TNP1user1:$apr1$KDxmO2Ye$unsM3hxh5X2QR/JGqSjH40

测试配置并重新加载

[root@100xuni1 vhost]# /usr/local/nginx/sbin/nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful[root@100xuni1 vhost]# /usr/local/nginx/sbin/nginx -s reload[root@100xuni1 vhost]# mkdir /data/wwwroot/test.com      ##创建主目录[root@100xuni1 vhost]# echo “test.com”>/data/wwwroot/test.com/index.html   ##创建一个index.html

测试

[root@100xuni1 vhost]# curl -x127.0.0.1:80 test.com  ##显示的是401需要用户验证401 Authorization Required

401 Authorization Required


nginx/1.14.0
[root@100xuni1 vhost]# curl -uhanshuo:hanshuo -x127.0.0.1:80 test.com “test.com”##如果想用admin去访问[root@100xuni1 vhost]# vim test.com.confserver{ listen 80; server_name test.com; index index.html index.htm index.php; root /data/wwwroot/test.com; location /admin/ ##把这里加个admin就可以了 { auth_basic "Auth"; auth_basic_user_file /usr/local/nginx/conf/htpasswd;
[root@100xuni1 vhost]# curl -x127.0.0.1:80 test.com“test.com”[root@100xuni1 vhost]# curl -x127.0.0.1:80 test.com/admin/401 Authorization Required

401 Authorization Required


nginx/1.14.0
[root@100xuni1 vhost]# mkdir /data/wwwroot/test.com/admin[root@100xuni1 vhost]# echo "test.com.conf dir" > /data/wwwroot/test.com/admin/index.html [root@100xuni1 vhost]# curl -uhanshuo:hanshuo -x127.0.0.1:80 test.com/admin/test.com.conf dir ##这是针对目录的

Nginx域名重定向

46次课(Nginx安装 、 默认虚拟主机、Nginx用户认证、Nginx域名重定向)

改下配置文件

[root@100xuni1 vhost]# vim test.com.confserver{    listen 80;    server_name test.com test2.com test3.com;    index index.html index.htm index.php;    root /data/wwwroot/test.com;    if ($host != 'test.com' ) {        rewrite  ^/(.*)$  http://test.com/$1  permanent;    }   }

46次课(Nginx安装 、 默认虚拟主机、Nginx用户认证、Nginx域名重定向)

46次课(Nginx安装 、 默认虚拟主机、Nginx用户认证、Nginx域名重定向)

扩展

Nginx为什么比Apache Httpd高效:原理篇

apache和nginx工作原理比较

mod_php 和 mod_fastcgi以及php-fpm的比较

概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM

转载于:https://blog.51cto.com/8043410/2159486

你可能感兴趣的文章
JS中 === 和 == 的区别
查看>>
JCTools简介
查看>>
使用三元表达式实现(时,分,秒)前的时间差计算
查看>>
CSS3——过渡(transition)
查看>>
twitter-LDA研究
查看>>
ios上-webkit-overflow-scrolling与position的bug
查看>>
电商购物网站 - 购物车结算
查看>>
用getBoundClientRect检测浏览器滚动到底部事件
查看>>
chart. js 官方文档中文译本
查看>>
PHP核心技术与最佳实践(第一章 面向对象思想的核心概念)
查看>>
1、JDBC 2、DBUtils
查看>>
php+kafka+zookeeper+logstash
查看>>
拼写检查教程
查看>>
mysql安装及服务启动错误
查看>>
基于Redis的简单分布式爬虫
查看>>
android源码分析-深入looper handler message
查看>>
使用 Electron 调用系统对话框
查看>>
re:Invent第三天:除了拥抱混合云,AWS还一口气发了这些新产品
查看>>
中国在两年内赶超美国AI?李开复:不一定
查看>>
Cordova是否适用于你的目标行业?
查看>>