当前位置:首页 > 教程 > 正文内容

nginx教程文档(nginx 教程)

2023-05-24 18:10:03教程1

nginx 教程

  ngx_upload模块是nginx中一个文件上传模式了,下面我们来看看nginx安装文件上传ngx_upload模块步骤,希望例子对各位有帮助.

  安装nginx,并加入nginx upload module和nginx cache purge module:

  mkdir ~/download

  cd ~/download

  wget http://www.grid.net.ru/nginx/download/nginx_upload_module-2.0.12.tar.gz

  tar zxf nginx_upload_module-2.0.12.tar.gz

  git clone https://github.com/FRiCKLE/ngx_cache_purge.git

  yum groupinstall "Development Tools"

  yum install pcre-devel zlib-devel openssl-devel

  wget http://nginx.org/download/nginx-1.2.3.tar.gz

  tar zxf nginx-1.2.3.tar.gz

  cd nginx-1.2.3

  ./configure --prefix=/usr/local/nginx --with-pcre --with-http_ssl_module --add-module=../nginx_upload_module-2.0.12 --add-module=../ngx_cache_purge

  make && make install

  尝试启动:

  /usr/local/nginx/sbin/nginx

  ps aux | grep nginx

  假如我的网站是放在 /home/mysite/www 下的,而nginx配置文件就放在 /home/mysite/etc 下:

  省略了很多内容的配置文件,mysite.conf:

  server {

  listen 80;

  server_name 192.168.1.123;

  client_max_body_size 20M;

  location /upload {

  include /home/mysite/etc/nginx/ngx_upload.conf;

  }

  ....其他的配置....

  location @after_upload {

  proxy_pass http://www_backend;

  }

  }

  将nginx_upload.conf独立开来,是因为其他网站也可以包含此上传配置文件:

  nginx_upload.conf:

  upload_pass @after_upload;

  upload_pass_args on;

  upload_cleanup 400 404 499 500-505;

  upload_store /home/mysite/www/uploads/tmp;

  upload_store_access user:r;

  upload_limit_rate 128k;

  upload_set_form_field "${upload_field_name}_name" $upload_file_name;

  upload_set_form_field "${upload_field_name}_content_type" $upload_content_type;

  upload_set_form_field "${upload_field_name}_path" $upload_tmp_path;

  upload_aggregate_form_field "${upload_field_name}_md5" $upload_file_md5;

  upload_aggregate_form_field "${upload_field_name}_size" $upload_file_size;

  upload_pass_form_field "^.*$";

  而最后那个参数:upload_pass_form_field,代表可以将表单的所有参数保持原样传递到后端,需要区分文件保存类型时很有用。

nginx详细教程

查看nginx的运行状态具体操作步骤如下:

以win7系统电脑为例:

1、首先打开电脑,点击选择左下角“开始”图标按钮。

2、然后在新的界面里点击选择“运行”按钮。

3、之后在新的界面里在打开右侧的输入框里输入“nginx”然后点击选择“确定”按钮就可以查看nginx的运行状态了。

nginx官方文档中文

如果什么都不设置,那么直接通过 IP 就能访问。如果想同时通过网址和 IP 访问,需要在 server_name 中写一下网址和 IP。具体例子 Nginx 的文档里写了:

Server names

nginx docs

让网站永久拥有HTTPS - 申请免费SSL证书并自动续期 Let’s Encrypt

为什么要用HTTPS  网站没有使用HTTPS的时候,浏览器一般会报不安全,而且在别人访问这个网站的时候,很有可能会被运营商劫持,然后在网站里显示一些莫名其妙的广告。

  有HTTPS的时候,通俗地讲所有的数据传输都会被加密,你和网站之间的数据交流也就更加安全。

相关简介Let’s Encrypt  如果要启用HTTPS,我们就需要从证书授权机构处获取一个证书,Let’s Encrypt 就是一个证书授权机构。我们可以从 Let’s Encrypt 获得网站域名的免费的证书。

Certbot  Certbot是Let’s Encrypt推出的获取证书的客户端,可以让我们免费快速地获取Let’s Encrypt证书。

便宜SSL  便宜SSL是一家国内的SSL证书提供商,同样也拥有免费证书。而且提供丰富的工具: https://www.pianyissl.com/tools。

获取HTTPS证书  获取SSL证书的过程大体上都一样。既可以图形化,也可以命令行,最后实现的效果都完全一样,大家各取所需。

命令行安装Certbot  进入Certbot的官网,选择你所使用的软件和系统环境,然后就会跳转到对应版本的安装方法,以Ubuntu + Nginx为例。

sudo apt-get updatesudo apt-get install software-properties-commonsudo add-apt-repository ppa:certbot/certbotsudo apt-get updatesudo apt-get install certbot申请证书  安装完成后执行:

certbot certonly --webroot -w /var/www/example -d example.com -d www.example.com  这条命令的意思是为以/var/www/example为根目录的两个域名example.com和www.example.com申请证书。

  如果你的网站没有根目录或者是你不知道你的网站根目录在哪里,可以通过下面的语句来实现:

certbot certonly --standalone -d example.com -d www.example.com  使用这个语句时Certbot会自动启用网站的443端口来进行验证,如果你有某些服务占用了443端口,就必须先停止这些服务,然后再用这种方式申请证书。

  证书申请完之后,Certbot会告诉你证书所在的目录,一般来说会在/etc/letsencrypt/live/这个目录下。

图形化  进入便宜SSL的官网https://www.pianyissl.com,注册了账号之后,选择那个体验版的免费测试,然后点确认购买。

  输入域名并点击生成CSR并提交申请按钮。

  点击确定按钮。

  接下来会选择验证方式。

  这里我选择邮箱验证方式,其它另外两种依照你的个人情况而定,反正就是为了验证域名是不是你的而已。

  大约过几分钟,邮箱会收到一封验证邮件,如下图,复制②指向的一串验证码,点击①处的Here链接。

  输入验证码,点击Next>按钮。

  提示已经输入正确的验证码,点击Close Window。

  大约等到10分钟左右,再次登陆 https://www.pianyissl.com,进入个人中心,可以看到已经成功申请SSL证书,点击查看详情。

  此时你可以点击箭头所指的证书打包下载,然后免费的SSL证书就可以下载到本地了,下载后可以看到SSL压缩包内的文件。

部署HTTPS证书  找到网站的Nginx配置文件,找到listen 80;,修改为listen 443;在这一行的下面添加以下内容:

ssl on;ssl_certificate XXX/fullchain.pem; 修改为fullchain.pem所在的路径ssl_certificate_key XXX/privkey.pem; 修改为privkey.pem所在的路径ssl_session_timeout 5m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;  保存退出后,通过nginx -t来检查配置文件是否正确,有错误的话改之即可。配置文件检测正确之后,通过nginx -s reload来重载配置文件。

  然后通过访问https://example.com来查看是否配置成功。

  如果发现无法访问或者是加载不出来的话检查一下443端口有没有开启!

设置HTTP强制跳转HTTPS  上一步成功之后大家可能会发现通过原来的http://example.com无法访问网页了,因为HTTP默认走的是80端口,我们刚才将其修改为443端口了。在这里我们可以在配置文件的最后一行加入以下代码:

server {listen 80;server_name example.com; 这里修改为网站域名rewrite ^(.*)$ https://$host$1 permanent;}意思是每一个通过80端口访问的请求都会强制跳转到443端口,这样一来访问http://example.com的时候就会自动跳转到https://example.com了。

命令行下设置证书自动续期  有心的小伙伴可能会留意到我们刚才申请的整数的有效期只有90天,不是很长,可是我们可以通过Linux自带的cron来实现自动续期,这样就相当于永久了。

  随便找一个目录,新建一个文件,名字随便起,在这里以example为例,在里面写入0 */12 * * * certbot renew --quiet --renew-hook "/etc/init.d/nginx reload",保存。

  然后在控制台里执行crontab example一切都OK了。原理是example里存入了一个每天检查更新两次的命令,这个命令会自动续期服务器里存在的来自Certbot的SSL证书。然后把example里存在的命令导入进Certbot的定时程序里。

附:其它环境下的证书部署  https://www.pianyissl.com/support/

Nginx相关命令nginx -t 验证配置是否正确nginx -v 查看Nginx的版本号service nginx start 启动Nginxnginx -s stop 快速停止或关闭Nginxnginx -s quit 正常停止或关闭Nginxnginx -s reload 重新载入配置文件crontab相关命令cat /var/log/cron 查看crontab日志crontab -l 查看crontab列表crontab -e 编辑crontab列表systemctl status crond.service 查看crontab服务状态systemctl restart crond.service 重启crontab参考文档https://lucien.ink/archives/81/https://www.cnblogs.com/zoro-zero/p/6590503.htmlhttp://blog.csdn.net/gsls200808/article/details/53486078https://certbot.eff.org/#ubuntuxenial-otherhttp://nginx.org/en/docs/http/configuring_https_servers.html

https://www.cnblogs.com/zdz8207/p/10729294.html

nginx使用教程

  在 ngx_lua 中访问 NginX 内置变量 ngx.var.arg_PARAMETER 即可获得GET参数PARAMETER的内容。

如何获取POST请求体数据?

要获得完整的POST请求体数据,可以访问 NginX 内置变量 ngx.var.request_body(注意:由于 NginX 默认在处理请求前不自动读取 request body,所以目前必须显式借助 form-input-nginx 模块才能从该变量得到请求体,否则该变量内容始终为空!)。如果想获取 POST 方式提交的表单参数,还可以借助 form-input-nginx 模块省去解析过程

nginx基础教程

对文件和目录的基本命令,vi编辑器的学习,用户权限,分区配额,搭建基础的服务如dhcp,ftp,dns,http等,基础shell脚本编写,搭建复杂点的服务如nginx,tomcat,负载均衡这样。

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:https://www.xibujisuan.cn/98860439.html