如何用ftp上传源码分享到网站 怎么用ftp上传源码建网站

各位老铁们好,相信很多人对如何用ftp上传源码分享到网站都不是特别的了解,因此呢,今天就来为大家分享下关于如何用ftp上传源码分享到网站以及怎么用ftp上传源码建网站的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

目录

Nginx配置详解序言Nginx常用功能Nginx配置文件结构nginx+ftp搭建图片服务器(WindowsServer服务器环境下)windows下用nginx配置https服务器NginxhttpSserver配置

Nginx配置详解

回到目录

序言

Nginx是lgorSysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。

Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、VirtualHost、URLRewrite、Gzip等功能。并且支持很多第三方的模块扩展。

Nginx的稳定性、功能集、示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。

牛逼吹的差不多啦,如果你还不过瘾,你可以百度百科或者一些书上找到这样的夸耀,比比皆是。

回到目录

Nginx常用功能

1、Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。

这里我给来2张图,对正向代理与反响代理做个诠释,具体细节,大家可以翻阅下资料。

Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器,只要你正则写的没问题,又有相对应的服务器解决方案,你就可以随心所欲的玩。并且Nginx对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,他可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。

2、负载均衡

Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Iphash。扩展策略,就天马行空,只有你想不到的没有他做不到的啦,你可以参照所有的负载均衡算法,给他一一找出来做下实现。

上3个图,理解这三种负载均衡算法的实现

Iphash算法,对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。

3、web缓存

Nginx可以对不同的文件做不同的缓存处理,配置灵活,并且支持FastCGI_Cache,主要用于对FastCGI的动态程序进行缓存。配合着第三方的ngx_cache_purge,对制定的URL缓存内容可以的进行增删管理。

4、Nginx相关地址

源码:https://trac.nginx.org/nginx/browser

官网:http://www.nginx.org/

回到目录

Nginx配置文件结构

如果你下载好啦,你的安装文件,不妨打开conf文件夹的nginx.conf文件,Nginx服务器的基础配置,默认的配置也存放在此。

在nginx.conf的注释符号位全局块\n\nevents{http块\n{\n…server块\n{\n…location块\n{\n…\n}\nlocation[PATTERN]\n{\n…\n}\n}\nserver\n{\n…\n}\n…每个指令必须有分号结束。useradministratoradministrators;worker_processes2;pid/nginx/pid/nginx.pid;制定日志路径,级别。这个设置可以放入全局块,http块,server块,级别以此为:debug|info|notice|warn|error|crit|alert|emerg\nevents{\naccept_mutexon;设置一个进程是否同时接受多个网络连接,默认为off\n事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport\nworker_connections1024;文件扩展名与文件类型映射表\ndefault_typeapplication/octet-stream;access_logoff;39;$remote_addr–$remote_user[$time_local]$request$status$body_bytes_sent$http_referer$http_user_agent$http_x_forwarded_for&自定义格式\naccess_loglog/access.logmyFormat;允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。\nsendfile_max_chunk100k;连接超时时间,默认为75s,可以在http,server,location块。\n\nupstreammysvr{\nserver127.0.0.1:7878;\nserver192.168.10.121:3333backup;错误页\nserver{\nkeepalive_requests120;监听端口\nserver_name127.0.0.1;请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。\n根目录\n设置默认页\nproxy_passhttp://mysvr;拒绝的ip\nallow172.18.5.54;默认的图片路径,也是ftp上传文件存放的路径,只要后缀是以上的都会到这个路径下搜索rootC:/imgextra;}

添加完成以后在cmd中执行nginx-sreload重新加载配置使其生效

图片文件所在路径

访问成功

3、图片存放路径分析

先来看看大型商城的图片路径

天猫图片存储

https://gdp.alicdn.com/imgextra/i2/1856815898/TB2QxuMuHBnpuFjSZFGXXX51pXa_!!1856815898.jpg

京东图片存储

https://img30.360buyimg.com/sku/jfs/t4816/236/2599170601/86961/b24bbc4/5902ff58Nc4ceea7c.jpg

当当图片存储

http://img3x5.ddimg.cn/19/20/1206933175-1_x_6.jpg

分析发现几乎都采用CDN和单独的域名来作为独立的图片服务器,目的是为了减少业务服务器的并发访问量。

关于图片服务器架构介绍戳这里

http://blog.csdn.net/dinglang_2009/article/details/31450731

三、FTP服务的安装与使用介绍

1、windows中安装使用FTP服务器请参考

http://blog.csdn.net/w1014074794/article/details/52075285

2、java上传文件到FTP服务器工具类

所需jar包commons-net-1.4.1.jar

https://files.cnblogs.com/files/cczheng-666/commons-net-1.4.1.zip

回到目录

windows下用nginx配置https服务器

1.安装nginx

先到nginx官网下在nginxhttp://nginx.org/en/download.html将下载好的文件解压出来修改文件名为nginx,然后拷贝到C盘下,目录如下:运行nginx

startnginx\n

验证

在浏览器中输入localhost访问即可,如出现以下页面,即安装成功\n

2.安装OpenSSL

下载OpenSSLhttp://slproweb.com/products/Win32OpenSSL.html下载完成安装到C:\\OpenSSL-Win64配置环境变量

在path变量后需要加入%OPENSSL_HOME%

3.生成https证书

在C:\\nginx下创建ssl文件夹用于存放证书创建私钥(建议使用系统窗口,不要用gitBash有涉及到选择的地方,gitBash无法选择)

opensslgenrsa-des3-outshidian.key1024//shidian自己取的名字\n

效果如下:

创建csr证书

opensslreq-new-keyshidian.key-outshidian.csr\n

xxxxxxxxxxbropensslreq-new-keyshidian.key-outshidian.csrbr

此时效果:

删除密码复制shidian.key并重命名shidian.key.org

opensslrsa-inshidian.key.org-outshidian.key

生成crt证书

opensslx509-req-days365-inshidian.csr-signkeyshidian.key-outshidian.crt

最后生成证书如下

修改nginx下的nginx.conf配置文件

C:\\nginx\\conf\\nginx.conf\n

xxxxxxxxxxbrC:\\nginx\\conf\\nginx.confbr

upstreamnodejs__upstream2{\n\tserver127.0.0.1:8080;配置的https的域名\n\n\tssl_certificateC://nginx//ssl//shidian.crt;这个是证书key文件所在目录\n\n\tssl_session_cacheshared:SSL:1m;\n\tssl_session_timeout5m;\n\n\tssl_ciphersHIGH:!aNULL:!MD5;\n\tssl_prefer_server_cipherson;\n\nlocation/{\n\tproxy_set_headerX-Real-IP$remote_addr;\n\tproxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;\n\tproxy_set_headerHost$http_host;\n\tproxy_set_headerX-NginX-Proxytrue;\n\tproxy_set_headerConnection&34;;\n\tproxy_http_version1.1;\n\tproxy_passhttp://nodejs__upstream2;\n}\n}\n

xxxxxxxxxxbrupstreamnodejs__upstream2{brserver127.0.0.1:8080;配置的https的域名brbrssl_certificateC://nginx//ssl//shidian.crt;这个是证书key文件所在目录brbrssl_session_cacheshared:SSL:1m;brssl_session_timeout5m;brbrssl_ciphersHIGH:!aNULL:!MD5;brssl_prefer_server_cipherson;brbrlocation/{brproxy_set_headerX-Real-IP$remote_addr;brproxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;brproxy_set_headerHost$http_host;brproxy_set_headerX-NginX-Proxytrue;brproxy_set_headerConnection&34;;brproxy_http_version1.1;brproxy_passhttp://nodejs__upstream2;br}br}br

重启nginx

nginx-sreload\n

xxxxxxxxxxbrnginx-sreloadbr

配置host文件

C:\\Windows\\System32\\drivers\\etc路径下\n127.0.0.1dev.kt.looklook.cn需要配置的域名br

访问

输入你配置好的域名即可访问了\n

xxxxxxxxxxbr输入你配置好的域名即可访问了br

奋斗就是每天很难,可是一年一年却越来越容易;不奋斗就是每天很容易,可是一年一年却越来越难。

回到目录

NginxhttpSserver配置

NginxhttpS配置

配置同时支持http和httpS协议:

xxxxxxxxxxbr配置同时支持http和httpS协议:

\nserver{\nlisten80defaultbacklog=2048;\ntry_files$uri=404;\nfastcgi_pass127.0.0.1:9000;\nfastcgi_indexindex.php;\nbacklog:每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。brlisten443ssl;brserver_namessl.joy4you.com;brssl_certificate/data/nginx/conf/server.crt;brssl_certificate_key/data/nginx/conf/server_nopwd.key;brbrroot/data/;brlocation/{brindexindex.phpindex.htmlindex.htm;brtry_files$uri$uri//index.php?$args;br}brlocation~.*\\.(php|php5)?${brfastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;brincludefastcgi.conf;br}br}

配置/data/http/使用http协议;/data/ssl/使用httpS协议:

xxxxxxxxxxbr配置/data/http/使用http协议;/data/ssl/使用httpS协议:

\nserver{\nlisten80;\nserver_name192.168.17.16;\naccess_log/data/nginx/logs/php.joy4you.com.logmain;\nroot/data/http/;\n\nlocation/{\nindexindex.phpindex.htmlindex.htm;\ntry_files$uri$uri//index.php?$args;\n}\n\nlocation~.*\\.(php|php5)?${\nfastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;\nincludefastcgi.conf;\n}\n}\n\nserver{\nlisten443;\nsslon;\nssl_certificate/data/nginx/conf/server.crt;\nssl_certificate_key/data/nginx/conf/server_nopwd.key;\nserver_name192.168.17.16;\naccess_log/data/nginx/logs/php.joy4you.com.logmain;\nroot/data/ssl/;\n\nlocation/{\nindexindex.phpindex.htmlindex.htm;\ntry_files$uri$uri//index.php?$args;\n}\n\nlocation~.*\\.(php|php5)?${\nfastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;\nincludefastcgi.conf;\n}\n}

brserver{brlisten80;brserver_name192.168.17.16;braccess_log/data/nginx/logs/php.joy4you.com.logmain;brroot/data/http/;brbrlocation/{brindexindex.phpindex.htmlindex.htm;brtry_files$uri$uri//index.php?$args;br}brbrlocation~.*\\.(php|php5)?${brfastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;brincludefastcgi.conf;br}br}brbrserver{brlisten443;brsslon;brssl_certificate/data/nginx/conf/server.crt;brssl_certificate_key/data/nginx/conf/server_nopwd.key;brserver_name192.168.17.16;braccess_log/data/nginx/logs/php.joy4you.com.logmain;brroot/data/ssl/;brbrlocation/{brindexindex.phpindex.htmlindex.htm;brtry_files$uri$uri//index.php?$args;br}brbrlocation~.*\\.(php|php5)?${brfastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;brincludefastcgi.conf;br}br}

把访问80端口的请求全部转发到443(https):

xxxxxxxxxxbr把访问80端口的请求全部转发到443(https):

\nserver{\nlisten80;\nserver_name192.168.17.16;\nrewrite^(.*)https://$server_name$1permanent;\n}\n\nserver{\nlisten443;\nsslon;\nssl_certificate/data/nginx/conf/server.crt;\nssl_certificate_key/data/nginx/conf/server_nopwd.key;\nserver_name192.168.17.16;\naccess_log/data/nginx/logs/php.joy4you.com.logmain;\nroot/data/;\n\nlocation/{\nindexindex.phpindex.htmlindex.htm;\ntry_files$uri$uri//index.php?$args;\n}\nlocation~.*\\.(php|php5)?${\nfastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;\nincludefastcgi.conf;\n}\n}

为一个server开启ssl支持\nsslon;\n\n为虚拟主机指定私钥文件\nssl_certificate_key/home/wangzhengyi/ssl/wangzhengyi_nopass.key;\n\n指定使用的ssl协议\nssl_protocolsTLSv1TLSv1.1TLSv1.2;\n\nssl_ciphersALL:!ADH:!EXPORT56:-RC4+RSA:+HIGH:+MEDIUM:-EXP;\n\n#指出为建立安全连接,服务器所允许的密码格式列表,密码指定为OpenSSL支持的格式

好了,文章到此结束,希望可以帮助到大家。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平