mirror of
				https://github.com/therootcompany/greenlock-express.js.git
				synced 2024-11-16 17:28:59 +00:00 
			
		
		
		
	move examples to examples/
This commit is contained in:
		
							parent
							
								
									1b12c3973b
								
							
						
					
					
						commit
						913cf7a3fd
					
				
							
								
								
									
										35
									
								
								examples/master.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								examples/master.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,35 @@ | |||||||
|  | 'use strict'; | ||||||
|  | 
 | ||||||
|  | var cluster = require('cluster'); | ||||||
|  | 
 | ||||||
|  | module.exports.init = function (sharedOpts) { | ||||||
|  |   var numCores = 2; // // Math.max(2, require('os').cpus().length)
 | ||||||
|  |   var i; | ||||||
|  |   var master = require('../master').create({ | ||||||
|  |     debug: true | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   , server: 'staging' | ||||||
|  |   , webrootPath: sharedOpts.webrootPath | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   , approveDomains: function (masterOptions, certs, cb) { | ||||||
|  |       // Depending on your setup it may be more efficient
 | ||||||
|  |       // for you to implement the approveDomains function
 | ||||||
|  |       // in your master or in your workers.
 | ||||||
|  |       //
 | ||||||
|  |       // Since we implement it in the worker (below) in this example
 | ||||||
|  |       // we'll give it an immediate approval here in the master
 | ||||||
|  |       var results = { domain: masterOptions.domain, options: masterOptions, certs: certs }; | ||||||
|  |       cb(null, results); | ||||||
|  |     } | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   for (i = 0; i < numCores; i += 1) { | ||||||
|  |     master.addWorker(cluster.fork()); | ||||||
|  |   } | ||||||
|  | }; | ||||||
							
								
								
									
										33
									
								
								examples/serve.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								examples/serve.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,33 @@ | |||||||
|  | 'use strict'; | ||||||
|  | 
 | ||||||
|  | var cluster = require('cluster'); | ||||||
|  | var main; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // You'll often see examples where people use cluster
 | ||||||
|  | // master and worker all in the same file, which is fine,
 | ||||||
|  | // but in order to conserve memory and especially to be
 | ||||||
|  | // less confusing, I'm splitting the code into two files
 | ||||||
|  | if (cluster.isMaster) { | ||||||
|  |   main = require('./master'); | ||||||
|  | } | ||||||
|  | else { | ||||||
|  |   main = require('./worker'); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // this is nothing letsencrypt-cluster specific
 | ||||||
|  | // I'm just arbitrarily choosing to share some configuration
 | ||||||
|  | // that I know I'm going to use in both places
 | ||||||
|  | main.init({ | ||||||
|  | 
 | ||||||
|  |   // Depending on the strategy, the whole le-challenge-<<strategy>>
 | ||||||
|  |   // could be shared between worker and server, but since I'm just
 | ||||||
|  |   // using using le-challenge-fs (as you'll see), I'm only sharing the webrootPath
 | ||||||
|  |   webrootPath: require('os').tmpdir() + require('path').sep + 'acme-challenge' | ||||||
|  | 
 | ||||||
|  |   // this is used both by node-letsencrypt (master) and le-sni-auto (worker)
 | ||||||
|  | , renewWithin: 15 * 24 * 60 * 60 * 1000 | ||||||
|  | }); | ||||||
| @ -1,43 +1,7 @@ | |||||||
| 'use strict'; | 'use strict'; | ||||||
| 
 | 
 | ||||||
| var cluster = require('cluster'); | module.exports.init = function (sharedOpts) { | ||||||
| // TODO the le-challenge-<<strategy>> should be shared between worker and server
 |   var worker = require('../worker').create({ | ||||||
| var webrootPath = require('os').tmpdir() + require('path').sep + 'acme-challenge'; |  | ||||||
| 
 |  | ||||||
| function runMaster() { |  | ||||||
|   var numCores = 2; // // Math.max(2, require('os').cpus().length)
 |  | ||||||
|   var i; |  | ||||||
|   var master = require('./lib/master').create({ |  | ||||||
|     debug: true |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   , server: 'staging' |  | ||||||
|   , webrootPath: webrootPath |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   , approveDomains: function (masterOptions, certs, cb) { |  | ||||||
|       // Depending on your setup it may be more efficient
 |  | ||||||
|       // for you to implement the approveDomains function
 |  | ||||||
|       // in your master or in your workers.
 |  | ||||||
|       //
 |  | ||||||
|       // Since we implement it in the worker (below) in this example
 |  | ||||||
|       // we'll give it an immediate approval here in the master
 |  | ||||||
|       var results = { domain: masterOptions.domain, options: masterOptions, certs: certs }; |  | ||||||
|       cb(null, results); |  | ||||||
|     } |  | ||||||
|   }); |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   for (i = 0; i < numCores; i += 1) { |  | ||||||
|     master.addWorker(cluster.fork()); |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| function runWorker() { |  | ||||||
|   var worker = require('./lib/worker').create({ |  | ||||||
|     debug: true |     debug: true | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -50,7 +14,7 @@ function runWorker() { | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|   , webrootPath: webrootPath |   , webrootPath: sharedOpts.webrootPath | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -120,11 +84,4 @@ function runWorker() { | |||||||
|   var server = require('https').createServer(worker.httpsOptions, worker.middleware(app)); |   var server = require('https').createServer(worker.httpsOptions, worker.middleware(app)); | ||||||
|   plainServer.listen(80); |   plainServer.listen(80); | ||||||
|   server.listen(443); |   server.listen(443); | ||||||
| } | }; | ||||||
| 
 |  | ||||||
| if (cluster.isMaster) { |  | ||||||
|   runMaster(); |  | ||||||
| } |  | ||||||
| else { |  | ||||||
|   runWorker(); |  | ||||||
| } |  | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user