-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.html
More file actions
171 lines (155 loc) · 26.6 KB
/
index.html
File metadata and controls
171 lines (155 loc) · 26.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>IIS</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#2B3A42">
<link rel="shortcut icon" href="/assets/favicon.ico">
<link href="https://fonts.googleapis.com/css?family=Source+Code+Pro:400,600|Source+Sans+Pro:200,400,400i,500" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.css" />
<link href="/093c5e94a96399fbbcb5.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.js"></script>
</head>
<body>
<div id="site" class="site"><div class="interactive" id="components/navigation/navigation.jsx" data-props="{"sections":[{"title":"Get-Started","url":"get-started","pages":[{"title":"Installation","url":"get-started/installation"},{"title":"Running","url":"get-started/running"},{"title":"Project Overview","url":"get-started/overview"}]},{"title":"Guides","url":"guides","pages":[{"title":"asdf","url":"guides/asdf"}]},{"title":"Developing","url":"developing","pages":[{"title":"developing/01_Adding_a_Route","url":"developing/01_Adding_a_Route"}]},{"title":"Deployment","url":"deployment","pages":[{"title":"deployment/gcloud-deployment","url":"deployment/gcloud-deployment"}]},{"title":"Examples","url":"examples","pages":[{"title":"Heroku Deploy","url":"examples/Heroku_Deployment"},{"title":"IIS","url":"examples/IIS"}]},{"title":"Generators","url":"generators","pages":[{"title":"App","url":"generators/app"},{"title":"Route","url":"generators/route"},{"title":"Service","url":"generators/service"},{"title":"Component","url":"generators/component"},{"title":"Controller","url":"generators/controller"},{"title":"Decorator","url":"generators/decorator"},{"title":"Directive","url":"generators/directive"},{"title":"Endpoint","url":"generators/endpoint"},{"title":"Filter","url":"generators/filter"},{"title":"Heroku","url":"generators/heroku"},{"title":"Openshift","url":"generators/openshift"}]},{"title":"Other","url":"/","pages":[]}],"pageUrl":"examples/IIS"}"><header class="navigation"><div class="container navigation__inner"></div><div class="navigation__bottom"><div class="container navigation__inner"></div></div></header></div><div class="interactive" id="components/sidebar-mobile/sidebar-mobile.jsx" data-props="{"sections":[{"title":"Get-Started","url":"get-started","pages":[{"title":"Installation","url":"get-started/installation"},{"title":"Running","url":"get-started/running"},{"title":"Project Overview","url":"get-started/overview"}]},{"title":"Guides","url":"guides","pages":[{"title":"asdf","url":"guides/asdf"}]},{"title":"Developing","url":"developing","pages":[{"title":"developing/01_Adding_a_Route","url":"developing/01_Adding_a_Route"}]},{"title":"Deployment","url":"deployment","pages":[{"title":"deployment/gcloud-deployment","url":"deployment/gcloud-deployment"}]},{"title":"Examples","url":"examples","pages":[{"title":"Heroku Deploy","url":"examples/Heroku_Deployment"},{"title":"IIS","url":"examples/IIS"}]},{"title":"Generators","url":"generators","pages":[{"title":"App","url":"generators/app"},{"title":"Route","url":"generators/route"},{"title":"Service","url":"generators/service"},{"title":"Component","url":"generators/component"},{"title":"Controller","url":"generators/controller"},{"title":"Decorator","url":"generators/decorator"},{"title":"Directive","url":"generators/directive"},{"title":"Endpoint","url":"generators/endpoint"},{"title":"Filter","url":"generators/filter"},{"title":"Heroku","url":"generators/heroku"},{"title":"Openshift","url":"generators/openshift"}]},{"title":"Other","url":"/","pages":[]}]}"><nav class="sidebar-mobile"><div class="sidebar-mobile__toggle"></div><div class="sidebar-mobile__content"><i class="sidebar-mobile__close icon-cross"></i><div class="sidebar-mobile__section "><a href="/get-started" class="sidebar-mobile__section-header"></a><a href="/get-started/installation" class="sidebar-mobile__page "></a><a href="/get-started/running" class="sidebar-mobile__page "></a><a href="/get-started/overview" class="sidebar-mobile__page "></a></div><div class="sidebar-mobile__section "><a href="/guides" class="sidebar-mobile__section-header"></a><a href="/guides/asdf" class="sidebar-mobile__page "></a></div><div class="sidebar-mobile__section "><a href="/developing" class="sidebar-mobile__section-header"></a><a href="/developing/01_Adding_a_Route" class="sidebar-mobile__page "></a></div><div class="sidebar-mobile__section "><a href="/deployment" class="sidebar-mobile__section-header"></a><a href="/deployment/gcloud-deployment" class="sidebar-mobile__page "></a></div><div class="sidebar-mobile__section "><a href="/examples" class="sidebar-mobile__section-header"></a><a href="/examples/Heroku_Deployment" class="sidebar-mobile__page "></a><a href="/examples/IIS" class="sidebar-mobile__page "></a></div><div class="sidebar-mobile__section "><a href="/generators" class="sidebar-mobile__section-header"></a><a href="/generators/app" class="sidebar-mobile__page "></a><a href="/generators/route" class="sidebar-mobile__page "></a><a href="/generators/service" class="sidebar-mobile__page "></a><a href="/generators/component" class="sidebar-mobile__page "></a><a href="/generators/controller" class="sidebar-mobile__page "></a><a href="/generators/decorator" class="sidebar-mobile__page "></a><a href="/generators/directive" class="sidebar-mobile__page "></a><a href="/generators/endpoint" class="sidebar-mobile__page "></a><a href="/generators/filter" class="sidebar-mobile__page "></a><a href="/generators/heroku" class="sidebar-mobile__page "></a><a href="/generators/openshift" class="sidebar-mobile__page "></a></div><div class="sidebar-mobile__section "><a href="//" target="_blank" class="sidebar-mobile__section-header"></a></div></div></nav></div><div class="container page"><aside class="sidecar"><a href="//github.com/angular-fullstack/generator-angular-fullstack" target="_blank" class="sidecar__link sidecar__link--github"><span class="sidecar__label">Fork the Repo</span><i class="sidecar__icon icon-github"></i></a><a class="sidecar__link sidecar__link--gitter js-gitter-toggle-chat-button"><span class="sidecar__label">Find Help</span><i class="sidecar__icon icon-gitter"></i></a><a href="//stackoverflow.com/questions/tagged/generator-angular-fullstack" target="_blank" class="sidecar__link sidecar__link--so"><span class="sidecar__label">Stack Overflow</span><i class="sidecar__icon icon-stack-overflow"></i></a></aside><div class="interactive" id="components/sidebar/sidebar.jsx" data-props="{"sectionName":"examples","pages":[{"url":"examples/Heroku_Deployment","title":"Heroku Deploy","anchors":[]},{"url":"examples/IIS","title":"IIS","anchors":[{"title":"Angular Full-Stack Generator deployment on Windows","id":"angular-full-stack-generator-deployment-on-windows"},{"title":"Prerequisites","id":"prerequisites"},{"title":"Getting your project started","id":"getting-your-project-started"},{"title":"Move App into production","id":"move-app-into-production"},{"title":"Congratulations, you did it! Now go code something awesome!","id":"congratulations-you-did-it-now-go-code-something-awesome-"}]}],"currentPage":"examples/IIS"}"><nav class="sidebar"><div class="sidebar__inner"><h3 class="sidebar-item__version">Version 4.1.x</h3><div class="sidebar-item sidebar-item--empty "><a href="/examples" class="sidebar-item__title"></a><i class="sidebar-item__toggle icon-chevron-down"></i><ul class="sidebar-item__anchors"></ul></div><div class="sidebar-item sidebar-item--empty "><a href="/examples/Heroku_Deployment" class="sidebar-item__title"></a><i class="sidebar-item__toggle icon-chevron-down"></i><ul class="sidebar-item__anchors"></ul></div><div class="sidebar-item sidebar-item--open"><a href="/examples/IIS" class="sidebar-item__title"></a><i class="sidebar-item__toggle icon-chevron-down"></i><ul class="sidebar-item__anchors"><li class="sidebar-item__anchor"><a href="#angular-full-stack-generator-deployment-on-windows">Angular Full-Stack Generator deployment on Windows</a></li><li class="sidebar-item__anchor"><a href="#prerequisites">Prerequisites</a></li><li class="sidebar-item__anchor"><a href="#getting-your-project-started">Getting your project started</a></li><li class="sidebar-item__anchor"><a href="#move-app-into-production">Move App into production</a></li><li class="sidebar-item__anchor"><a href="#congratulations-you-did-it-now-go-code-something-awesome-">Congratulations, you did it! Now go code something awesome!</a></li></ul></div></div></nav></div><section class="page__content"><h1>IIS</h1><a class="page__edit" href="https://github.com/angular-fullstack/generator-angular-fullstack/edit/master/docs/content/examples/IIS.md">Edit this Page   <i class="icon-edit"></i></a><div><h1 class="header"><a class="anchor" href="#angular-full-stack-generator-deployment-on-windows" id="angular-full-stack-generator-deployment-on-windows"></a><span class="text">Angular Full-Stack Generator deployment on Windows</span><a class="icon-link" href="#angular-full-stack-generator-deployment-on-windows"></a></h1>
<p>This is a walk through to get generator-angular-fullstack up and running on a windows machine.
This walk through has been tested on:</p>
<ul>
<li>Windows Vista</li>
<li>Windows 7</li>
<li>Windows 8</li>
<li>Windows Server 2008 (<em>all builds/ updates</em>)</li>
<li>Windows Server 2012 (<em>all builds/ updates</em>)</li>
</ul>
<h2 class="header"><a class="anchor" href="#prerequisites" id="prerequisites"></a><span class="text">Prerequisites</span><a class="icon-link" href="#prerequisites"></a></h2>
<p><strong>Install Python</strong></p>
<ul>
<li>Download Python 2.7 from <a href="https://www.python.org/downloads/">python.org/downloads</a><ul>
<li>Install to <code>C:\Python27</code> (<em>The Default Path</em>) ** </li>
</ul>
</li>
<li>After Python is installed add the path (<em><code>C:\Python27\</code></em>) to your Windows <code>PATH</code> environment variable.<ul>
<li>Start > Type <code>Environment Variables</code> > click "Edit the System Environment Variables" > Envrionment Variables > Click "Path" > "Edit"</li>
</ul>
</li>
<li>Add C:\Python27\python.exe to the very end. (<em>Click into box and press 'End'</em>)</li>
</ul>
<p><strong>Install NodeJS on Windows</strong></p>
<ul>
<li>Download & Install <a href="https://github.com/coreybutler/nvm-windows/releases">nvm-windows</a>.</li>
<li>Run <code>nvm install 6.4.0</code> for the version of node that you want</li>
<li>Run <code>nvm use 6.4.0</code> to use that version</li>
</ul>
<p><strong>Install IISNode</strong></p>
<ul>
<li>Install Latest Stable release of <a href="https://github.com/tjanczuk/iisnode">IISNode</a></li>
</ul>
<p><strong>Install IIS URL-Rewrite Module</strong></p>
<ul>
<li>Install the <a href="http://www.iis.net/downloads/microsoft/url-rewrite">URL-Rewrite Module</a> extension</li>
</ul>
<p><strong>Install MongoDB on Windows</strong></p>
<ul>
<li>Download the current stable release of MongoDB from <a href="https://www.mongodb.org/downloads">https://www.mongodb.org/downloads</a> and install using the "Complete" setup type and all the default options.</li>
<li>Create the MongoDB data directory</li>
<li>Create an empty folder at ex. <code>C:\data\db</code>.</li>
<li>MongoDB requires a directory for storing all of it's data. The default directory is <code>C:\data\db</code>. You can use a different directory if you prefer by specifying the "--dbpath" parameter when starting the MongoDB server (below).</li>
<li>Start the MongoDB server daemon by running <code>mongod.exe</code> from the command line. <code>mongod.exe</code> is likely located in <code>C:\Program Files\MongoDB\Server\[MONGODB VERSION]\bin</code>; for example for version 3.2 the following command will start MongoDB: <code>C:\Program Files\MongoDB\Server\3.2\bin\mongod</code></li>
</ul>
<h2 class="header"><a class="anchor" href="#getting-your-project-started" id="getting-your-project-started"></a><span class="text">Getting your project started</span><a class="icon-link" href="#getting-your-project-started"></a></h2>
<p><strong>Install the generator</strong></p>
<ul>
<li>Create an empty folder for your project</li>
<li>Open a terminal and change directories to your app's directory <code>cd c:\example</code></li>
<li>Run <code>npm install -g yo gulp-cli generator-angular-fullstack</code></li>
<li>Run <code>yo angular-fullstack</code></li>
</ul>
<h2 class="header"><a class="anchor" href="#move-app-into-production" id="move-app-into-production"></a><span class="text">Move App into production</span><a class="icon-link" href="#move-app-into-production"></a></h2>
<p>The below steps assume you have purchased a domain and have pointed your DNS to your public IP</p>
<p><strong>Build and prep</strong></p>
<ul>
<li>Run the build process <code>gulp serve:dist</code></li>
<li>Move your <code>dist/</code> folder to your desired directory (<em>This is where IIS will be pointed at</em>)</li>
<li>Copy the contents of the <code>server/</code> folder <strong>into</strong> your <code>client/</code> folder</li>
<li>Copy down the web.config from below and place this inside your 'client' folder (<em>save it as 'web.config'</em>)</li>
</ul>
<pre><code><span class="token operator"><</span>configuration<span class="token operator">></span>
<span class="token operator"><</span>system.webServer<span class="token operator">></span>
<span class="token operator"><</span><span class="token operator">!</span>-- indicates that the socketio.js <span class="token function">file</span> is a node.js application
to be handled by the iisnode module --<span class="token operator">></span>
<span class="token operator"><</span>handlers<span class="token operator">></span>
<span class="token operator"><</span>add name<span class="token operator">=</span><span class="token string">"iisnode"</span> path<span class="token operator">=</span><span class="token string">"app.js"</span> verb<span class="token operator">=</span><span class="token string">"*"</span> modules<span class="token operator">=</span><span class="token string">"iisnode"</span> /<span class="token operator">></span>
<span class="token operator"><</span>add name<span class="token operator">=</span><span class="token string">"iisnode-socketio"</span> path<span class="token operator">=</span><span class="token string">"config/socketio.js"</span> verb<span class="token operator">=</span><span class="token string">"*"</span> modules<span class="token operator">=</span><span class="token string">"iisnode"</span> /<span class="token operator">></span>
<span class="token operator"><</span>/handlers<span class="token operator">></span>
<span class="token operator"><</span>iisnode node_env<span class="token operator">=</span><span class="token string">"PRODUCTION"</span>
nodeProcessCountPerApplication<span class="token operator">=</span><span class="token string">"1"</span>
maxConcurrentRequestsPerProcess<span class="token operator">=</span><span class="token string">"1024"</span>
maxNamedPipeConnectionRetry<span class="token operator">=</span><span class="token string">"100"</span>
namedPipeConnectionRetryDelay<span class="token operator">=</span><span class="token string">"250"</span>
maxNamedPipeConnectionPoolSize<span class="token operator">=</span><span class="token string">"512"</span>
maxNamedPipePooledConnectionAge<span class="token operator">=</span><span class="token string">"30000"</span>
asyncCompletionThreadCount<span class="token operator">=</span><span class="token string">"0"</span>
initialRequestBufferSize<span class="token operator">=</span><span class="token string">"4096"</span>
maxRequestBufferSize<span class="token operator">=</span><span class="token string">"65536"</span>
uncFileChangesPollingInterval<span class="token operator">=</span><span class="token string">"5000"</span>
gracefulShutdownTimeout<span class="token operator">=</span><span class="token string">"60000"</span>
loggingEnabled<span class="token operator">=</span><span class="token string">"true"</span>
logDirectory<span class="token operator">=</span><span class="token string">"iisnode"</span>
debuggingEnabled<span class="token operator">=</span><span class="token string">"true"</span>
debugHeaderEnabled<span class="token operator">=</span><span class="token string">"false"</span>
debuggerPortRange<span class="token operator">=</span><span class="token string">"5058-6058"</span>
debuggerPathSegment<span class="token operator">=</span><span class="token string">"debug"</span>
maxLogFileSizeInKB<span class="token operator">=</span><span class="token string">"128"</span>
maxTotalLogFileSizeInKB<span class="token operator">=</span><span class="token string">"1024"</span>
maxLogFiles<span class="token operator">=</span><span class="token string">"20"</span>
devErrorsEnabled<span class="token operator">=</span><span class="token string">"true"</span>
flushResponse<span class="token operator">=</span><span class="token string">"false"</span>
enableXFF<span class="token operator">=</span><span class="token string">"false"</span>
promoteServerVars<span class="token operator">=</span><span class="token string">""</span>
configOverrides<span class="token operator">=</span><span class="token string">"iisnode.yml"</span>
watchedFiles<span class="token operator">=</span><span class="token string">"web.config;*.js"</span> /<span class="token operator">></span>
<span class="token operator"><</span><span class="token operator">!</span>-- indicate that all strafic the URL paths beginning with <span class="token string">'socket.io'</span> should be
redirected to the server socketio.js, node.js, application to avoid IIS attempting to
serve that content using other handlers <span class="token punctuation">(</span>e.g. static <span class="token function">file</span> handlers<span class="token punctuation">)</span>
--<span class="token operator">></span>
<span class="token operator"><</span>rewrite<span class="token operator">></span>
<span class="token operator"><</span>rules<span class="token operator">></span>
<span class="token operator"><</span>rule name<span class="token operator">=</span><span class="token string">"LogFile"</span> patternSyntax<span class="token operator">=</span><span class="token string">"ECMAScript"</span><span class="token operator">></span>
<span class="token operator"><</span>match url<span class="token operator">=</span><span class="token string">"socket.io"</span>/<span class="token operator">></span>
<span class="token operator"><</span>action type<span class="token operator">=</span><span class="token string">"Rewrite"</span> url<span class="token operator">=</span><span class="token string">"app.js"</span>/<span class="token operator">></span>
<span class="token operator"><</span>/rule<span class="token operator">></span>
<span class="token operator"><</span>rule name<span class="token operator">=</span><span class="token string">"DynamicContent"</span><span class="token operator">></span>
<span class="token operator"><</span>conditions<span class="token operator">></span>
<span class="token operator"><</span>add input<span class="token operator">=</span><span class="token string">"{REQUEST_FILENAME}"</span> matchType<span class="token operator">=</span><span class="token string">"IsFile"</span> negate<span class="token operator">=</span><span class="token string">"True"</span>/<span class="token operator">></span>
<span class="token operator"><</span>/conditions<span class="token operator">></span>
<span class="token operator"><</span>action type<span class="token operator">=</span><span class="token string">"Rewrite"</span> url<span class="token operator">=</span><span class="token string">"app.js"</span>/<span class="token operator">></span>
<span class="token operator"><</span>/rule<span class="token operator">></span>
<span class="token operator"><</span>/rules<span class="token operator">></span>
<span class="token operator"><</span>/rewrite<span class="token operator">></span>
<span class="token operator"><</span><span class="token operator">!</span>-- disable the IIS websocket module to allow node.js to provide its own
WebSocket implementation --<span class="token operator">></span>
<span class="token operator"><</span>webSocket enabled<span class="token operator">=</span><span class="token string">"false"</span> /<span class="token operator">></span>
<span class="token operator"><</span>/system.webServer<span class="token operator">></span>
<span class="token operator"><</span>/configuration<span class="token operator">></span>
</code></pre><p><strong>Setup IIS (if new build in IIS)</strong></p>
<ul>
<li>Open IIS Manager (<em>Start > Type 'IIS Manager'</em>)</li>
<li>Create your new site (<em>Expand Server > Right click sites > 'Add Websites'</em>)</li>
<li>Enter your site's name</li>
<li>Enter the directory path to your <code>client/</code> folder (<em><code>C:\example\dist\client\</code></em>)</li>
<li>Enter your hostname (<em>Your a-record</em>)</li>
<li>Leave all other defaults and click 'Ok'</li>
</ul>
<h1 class="header"><a class="anchor" href="#congratulations-you-did-it-now-go-code-something-awesome-" id="congratulations-you-did-it-now-go-code-something-awesome-"></a><span class="text">Congratulations, you did it! Now go code something awesome!</span><a class="icon-link" href="#congratulations-you-did-it-now-go-code-something-awesome-"></a></h1>
</div><hr style="display:none;"><h3 style="display:none;">Contributors</h3><noscript></noscript></section></div><div class="footer"><div class="container footer__inner"><section class="footer__left"><a href="/get-started" class="footer__link">Get Started</a><a href="https://github.com/angular-fullstack" target="_blank" class="footer__link">Organization</a><a href="https://github.com/angular-fullstack/generator-angular-fullstack/blob/master/contributing.md" target="_blank" class="footer__link">Contribute</a></section><section class="footer__middle"><a href="/" class="footer__icon"><img src="/44c8aeaa24cb28d0a5c6a45de449fd7d.svg"></a></section><section class="footer__right"><a href="https://gitter.im/angular-fullstack/generator-angular-fullstack" target="_blank" class="footer__link">Support</a><a href="https://github.com/angular-fullstack/generator-angular-fullstack/releases" target="_blank" class="footer__link">Changelog</a></section></div></div><script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', 'UA-46921629-2', 'auto');ga('send', 'pageview');</script></div>
<script src="/fffa596caa5e50f86619798ecf1e2a6f.js"></script>
<script>
((window.gitter = {}).chat = {}).options = {
room: 'angular-fullstack/generator-angular-fullstack',
activationElement: false
};
</script>
<script src="https://sidecar.gitter.im/dist/sidecar.v1.js" async defer></script>
</body>
</html>