Eigentlich gab es in diesem Artikel eine Geschichte von Gedanken und Fehlern, aber ich habe sie hier gepostet, weil ich es am Ende erneut versucht habe.
Es wurde unter Bezugnahme auf Dokumentenseiten mit MkDocs automatisch erstellen durchgeführt.
Installieren Sie Python Package Management pip.
Ich habe zuerst python get-pip.py
ausgeführt, aber es hat überhaupt nicht funktioniert. .. ..
Deshalb habe ich mich entschlossen, python-pip
auf der offiziellen Website zu installieren.
$ python --version
Python 2.7.10
$ sudo yum install python-pip
Loaded plugins: priorities, update-motd, upgrade-helper
Resolving Dependencies
--> Running transaction check
---> Package python26-pip.noarch 0:6.1.1-1.21.amzn1 will be installed
--> Processing Dependency: python(abi) = 2.6 for package: python26-pip-6.1.1-1.21.amzn1.noarch
--> Processing Dependency: python26(dist-packages) for package: python26-pip-6.1.1-1.21.amzn1.noarch
--> Processing Dependency: python26-setuptools for package: python26-pip-6.1.1-1.21.amzn1.noarch
--> Processing Dependency: /usr/bin/python2.6 for package: python26-pip-6.1.1-1.21.amzn1.noarch
--> Processing Dependency: python26-backports-ssl_match_hostname for package: python26-pip-6.1.1-1.21.amzn1.noarch
--> Processing Dependency: python26(alternatives) for package: python26-pip-6.1.1-1.21.amzn1.noarch
--> Running transaction check
---> Package python26.x86_64 0:2.6.9-2.84.amzn1 will be installed
--> Processing Dependency: libpython2.6.so.1.0()(64bit) for package: python26-2.6.9-2.84.amzn1.x86_64
---> Package python26-backports-ssl_match_hostname.noarch 0:3.4.0.2-1.12.amzn1 will be installed
--> Processing Dependency: python26-backports for package: python26-backports-ssl_match_hostname-3.4.0.2-1.12.amzn1.noarch
---> Package python26-setuptools.noarch 0:12.2-1.30.amzn1 will be installed
--> Running transaction check
---> Package python26-backports.x86_64 0:1.0-3.14.amzn1 will be installed
---> Package python26-libs.x86_64 0:2.6.9-2.84.amzn1 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=================================================================================================================================
Package Arch Version Repository Size
=================================================================================================================================
Installing:
python26-pip noarch 6.1.1-1.21.amzn1 amzn-main 1.9 M
Installing for dependencies:
python26 x86_64 2.6.9-2.84.amzn1 amzn-main 5.8 M
python26-backports x86_64 1.0-3.14.amzn1 amzn-main 5.2 k
python26-backports-ssl_match_hostname noarch 3.4.0.2-1.12.amzn1 amzn-main 12 k
python26-libs x86_64 2.6.9-2.84.amzn1 amzn-main 696 k
python26-setuptools noarch 12.2-1.30.amzn1 amzn-main 582 k
Transaction Summary
=================================================================================================================================
Install 1 Package (+5 Dependent packages)
Total download size: 8.9 M
Installed size: 29 M
Is this ok [y/d/N]: y
Downloading packages:
(1/6): python26-2.6.9-2.84.amzn1.x86_64.rpm | 5.8 MB 00:00
(2/6): python26-backports-1.0-3.14.amzn1.x86_64.rpm | 5.2 kB 00:00
(3/6): python26-backports-ssl_match_hostname-3.4.0.2-1.12.amzn1.noarch.rpm | 12 kB 00:00
(4/6): python26-libs-2.6.9-2.84.amzn1.x86_64.rpm | 696 kB 00:00
(5/6): python26-pip-6.1.1-1.21.amzn1.noarch.rpm | 1.9 MB 00:00
(6/6): python26-setuptools-12.2-1.30.amzn1.noarch.rpm | 582 kB 00:00
---------------------------------------------------------------------------------------------------------------------------------
Total 14 MB/s | 8.9 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : python26-libs-2.6.9-2.84.amzn1.x86_64 1/6
Installing : python26-2.6.9-2.84.amzn1.x86_64 2/6
Installing : python26-backports-1.0-3.14.amzn1.x86_64 3/6
Installing : python26-backports-ssl_match_hostname-3.4.0.2-1.12.amzn1.noarch 4/6
Installing : python26-setuptools-12.2-1.30.amzn1.noarch 5/6
Installing : python26-pip-6.1.1-1.21.amzn1.noarch 6/6
Verifying : python26-2.6.9-2.84.amzn1.x86_64 1/6
Verifying : python26-setuptools-12.2-1.30.amzn1.noarch 2/6
Verifying : python26-libs-2.6.9-2.84.amzn1.x86_64 3/6
Verifying : python26-pip-6.1.1-1.21.amzn1.noarch 4/6
Verifying : python26-backports-ssl_match_hostname-3.4.0.2-1.12.amzn1.noarch 5/6
Verifying : python26-backports-1.0-3.14.amzn1.x86_64 6/6
Installed:
python26-pip.noarch 0:6.1.1-1.21.amzn1
Dependency Installed:
python26.x86_64 0:2.6.9-2.84.amzn1 python26-backports.x86_64 0:1.0-3.14.amzn1
python26-backports-ssl_match_hostname.noarch 0:3.4.0.2-1.12.amzn1 python26-libs.x86_64 0:2.6.9-2.84.amzn1
python26-setuptools.noarch 0:12.2-1.30.amzn1
Complete!
Ich trat reibungslos ein! !!
$ sudo pip install mkdocs
~~ weggelassen ~~
Running setup.py install for Markdown
Running setup.py install for tornado
Running setup.py install for click
Running setup.py install for mkdocs-bootswatch
Running setup.py install for mkdocs-bootstrap
Successfully installed Markdown-2.6.6 backports-abc-0.4 certifi-2016.2.28 click-6.6 livereload-2.4.1 mkdocs-0.15.3 mkdocs-bootstrap-0.1.1 mkdocs-bootswatch-0.4.0 singledispatch-3.4.0.3 tornado-4.3
Ist hereingekommen! !! Eigentlich habe ich es zuerst ohne sudo ausgeführt, aber ich war wütend auf "Fehler: konnte nicht erstellen" / usr / local / lib / python2.7 / site-packages / markdown ": Berechtigung verweigert", also habe ich es mit sudo ausgeführt. .. Lassen Sie uns sofort die Version von mkdocs überprüfen.
$ mkdocs --version
mkdocs, version 0.15.3
Viel Glück! !!
$ mkdocs new sample && cd sample
INFO - Creating project directory: sample
INFO - Writing config file: sample/mkdocs.yml
INFO - Writing initial docs: sample/docs/index.md
$ ls -l
total 8
drwxrwxr-x 2 ec2-user ec2-user 4096 Apr 8 06:29 docs
-rw-rw-r-- 1 ec2-user ec2-user 19 Apr 8 06:29 mkdocs.yml
Normalerweise erlaubt die EC2-Standardsicherheitsgruppe nur den Zugriff auf den SSH-Port 22. Fügen Sie daher wie unten beschrieben eine benutzerdefinierte TCP-Regel hinzu, um auf den Standard-8000-Port von mkdocs zuzugreifen.
$ mkdocs serve -a 0.0.0.0:8000
INFO - Building documentation...
INFO - Cleaning site directory
[I 160408 06:55:54 server:281] Serving on http://0.0.0.0:8000
[I 160408 06:55:54 handlers:59] Start watching changes
[I 160408 06:55:54 handlers:61] Start detecting changes
Machen Sie es zur globalen IP, die Ihrem EC2 zugewiesen ist, und überprüfen Sie es im Browser.
http://{Your Global Public IP}:8000/
Jetzt können Sie den Inhalt des Beispielprojekts als Website durchsuchen! !!
Dies hängt von EC2 ab, da mkdocs auf EC2 als Webserver fungiert. mkdocs verfügt über eine statische Funktion zur Erstellung von Inhalten. Probieren Sie es also aus.
$ mkdocs build
INFO - Building documentation to directory: /home/ec2-user/sample/site
$ cd site && ls -l
total 64
-rw-r--r-- 1 ec2-user ec2-user 3823 Apr 8 07:05 404.html
-rw-r--r-- 1 ec2-user ec2-user 4720 Apr 8 07:05 base.html
-rw-r--r-- 1 ec2-user ec2-user 189 Apr 8 07:05 content.html
drwxrwxr-x 2 ec2-user ec2-user 4096 Apr 8 07:05 css
drwxrwxr-x 2 ec2-user ec2-user 4096 Apr 8 07:05 fonts
drwxrwxr-x 2 ec2-user ec2-user 4096 Apr 8 07:05 img
-rw-rw-r-- 1 ec2-user ec2-user 4816 Apr 8 07:05 index.html
-rw-r--r-- 1 ec2-user ec2-user 0 Apr 8 07:05 __init__.py
-rw-r--r-- 1 ec2-user ec2-user 148 Apr 8 07:05 __init__.pyc
drwxrwxr-x 2 ec2-user ec2-user 4096 Apr 8 07:05 js
drwxrwxr-x 3 ec2-user ec2-user 4096 Apr 8 07:05 mkdocs
-rw-r--r-- 1 ec2-user ec2-user 3359 Apr 8 07:05 nav.html
-rw-r--r-- 1 ec2-user ec2-user 418 Apr 8 07:05 nav-sub.html
-rw-rw-r-- 1 ec2-user ec2-user 235 Apr 8 07:05 sitemap.xml
-rw-r--r-- 1 ec2-user ec2-user 436 Apr 8 07:05 toc.html
Wie oben erwähnt, wurde nicht nur die HTML-Datei, sondern auch die gesamte Website ausgegeben.
Da es eine gute Idee ist, werde ich die oben festgelegte Ausgabe in S3 hochladen und die Site nur mit statischem Inhalt durchsuchen. Für die Grundeinstellungen wurde S3 unter Bezugnahme auf die offizielle AWS-Website festgelegt.
Legen Sie index.html
als Indexdokumentnamen in S3 fest.
Laden Sie die obige Datei in S3 hoch.
Eigentlich ist es klüger, EC2 und S3 mit lsyncd
usw. zu synchronisieren, aber diesmal habe ich es manuell hochgeladen.
Wenn Sie dies tun möchten, [dieser Bereich](http://dev.classmethod.jp/cloud/aws/file-upload-to-s3-from-ec2-using-sftp/#install-lsyncd-on-ec2-and-setting- Bitte beziehen Sie sich auf Umgebung).
Wenn Sie nur auf S3 hochladen, werden Sie mit ** 403 Forbidden ** gesegnet. Setzen Sie die Berechtigung daher auf S3, indem Sie auf den folgenden Artikel verweisen. Hosten Sie eine kleine statische Site mit Amazon S3!
Dieses Mal lautet die von AWS Policy Generator erstellte und festgelegte Richtlinie wie folgt.
{
"Id": "Policy<UNIQUE_ID>",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "<UNIQUE_ID>",
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::mkdocstest/*",
"Principal": "*"
}
]
}
Der Bucket-Name lautet "mkdocstest".
Und wenn Sie auf den S3-Endpunkt zugreifen ...
http://mkdocstest.s3-website-ap-northeast-1.amazonaws.com/
Es kam heraus! !!
python-pip
von yum zu installieren.Um ehrlich zu sein, selbst wenn Sie nicht mit S3 surfen, scheint die Webserverfunktion von mkdocs ausreichend zu sein, aber ich denke, ich werde es anhand der Betriebsbedingungen beurteilen. Trotzdem hatte ich den Eindruck, dass mich die Installation unter Amazon Linux und nicht die mkdocs selbst beunruhigten. Im AWS-System ist es außerdem wichtig, über Berechtigungen wie Sicherheitsgruppen zu verfügen. Daher gibt es viele Teile, die einfach sind, wenn Sie sie kennen.
das ist alles! !! (Ah, es war erfrischend)
Recommended Posts