日に日に分からんことが増えていく…

プログラマー初心者としての日々を学んでいることを記録していく。

Linux

daemonでDjangoを動かす方法など

daemontools http://cr.yp.to/daemontools.html # インストール sudo yum -y install rpm-build wget http://mirrors.qmailtoaster.com/daemontools-toaster-0.76-1.3.6.src.rpm rpmbuild --rebuild daemontools-toaster-0.76-1.3.6.src.rpm sudo rpm -ivh ~…

PostgreSQLのCentOS7での立ち上げ方やコマンドなどの便利なサイト+自動インストール

DjangoではPostgreが推奨のDBMSらしいよ。 www.digitalocean.com qiita.com #!/bin/sh # -*- MAINTAINER -*- Lasha Gogua Lh4cKg@gmail.com # -*- RUN -*- $ bash install.sh # system update and install epel package yum update -y && yum upgrade -y wget…

PortForwordという言葉の意味

知らなかった。。。ポートフォーワードという内容はsshでポートを指定すると、 localhost:[port名]で確認できる。 開発サーバなどで、SSHに使う22番ポートは解放しているけど、HTTPに使う80番ポートは外部に解放していないという状況があります。 $ ssh -L 8…

ApacheのアクセスログからURLを作成する方法。

xargsの使い方を学ぶ cut -d " " -f 7 access_log |xargs -I{} echo "http://[ドメイン名]{}" | grep -v "http://[ドメイン名]{}" | head -10000 > accesslog.txt qiita.com

tarのコマンドについて

tarの -vはverboseの略で、展開したファイル一覧を表示したりする。 qiita.com qiita.com

yumとrpmと違い

MeCabがインストールするときにrpmを使った。 よくわかんない。 $ tar jxvf juman-7.01.tar.bz2 $ cd juman-7.01/ $ ./configure --prefix=/usr/local $ make # make install nzigen.com hayashikun.hatenablog.com blog.inouetakuya.info qiita.com qiita.c…

AWS(Red Hat)にpython3.6をインストールしてpipやvirtualenvを作成する方法。

python3.6をインストール。 ##いるものをインストール。 $ sudo yum install yum-utils make wget $ sudo yum install zlib-devel -y $ sudo yum install gcc libffi-devel python-devel openssl-devel $ cd ~ ## wgetよりpython3.6をゲット $ wget https://…

AWSにアカウント追加するときに苦労したこと

AWSに自分のアカウントを追加するときにやったこと。 www.task-notes.com qiita.com

AWSのサーバにSFTP通信を行う。

AWSのインスタンスのセキュリティグループからどのIPアドレスを弾いているか確認している。 AWSにSFTPで接続するサーバを管理するために見たが、SFTPコマンドって受送信できるんだっけということで確認した。 ちなみに、公開鍵の登録も必要。 webkaru.net セ…

インフラエンジニアがよく使うコマンド

インフラエンジニアがよく使うコマンドをまとめたページ。 貼っておいて後読もう。 qiita.com

grepとかawkとかsortとかuniqueとか(niceも)

アクセスログのファイルに「/content」含まれないばあいにのIPアドレスだけ出力して、 ソートした後に集約して件数出して、その件数でソート(降順)して上位10件を出す。 にたいして、処理が重いので優先順位を下げる。 知らないコマンドとgrepの知らないオ…

7zのファイルについて解凍

圧縮ファイルで「… .7z」というものがあった。 macのデフォルトのコマンドでは対応していないので、p7zipをinstallする必要がある。 # ディレクトリの圧縮 $ 7z u -r [ディレクトリ名].7z [ディレクトリ名] # 解凍 $ 7z x [ファイル名].7z yuyunko.hatenablo…

SFTPサーバに接続

sftpで実行するためには以下のようにする。 $ sftp -P port user@domain ## historyの時間確認 $ export HISTTIMEFORMAT='%F %T ' $ history | less ## lsコマンドで時間確認 $ ls -alt

踏み台サーバなどを用いて、多段階接続をするとき(ssh -W)

Proxycommandをssh configに登録して、 ssh -Wから対応することができる。 dev.classmethod.jp

svnのあれこれをvimの折りたたみ解除

svnをgitでいうpushする時、svnはcommitで完了する。 $ svn add [ファイル名] $ svn commit -m "[コミット文言]" svnでgit pull的な挙動は、 $ svn stat # fileみてMや!などの表記がある。 # ファイルを変更前に戻す。 $ svn revert [ファイル名] # git pull…

Python3とsystemd-tmpfiles.dの便利なサイト

Python3ではsendとthrowについてわからなかったので参考にしたサイト。 iteratorについてはこんな使い方があるのかと感動した。 あと、systemd-tmpfiles.dにて /tmp/ or /var/の定期的削除に関して、 systemd-tmpfiles-clean.serviceで削除をしている。その…

処理中のプロセスをバックグラウンドで回す

「Ctr + z」で一時停止をし、jobsで確認し、bg %~で対応する。 $ zcat db.sql.gz | mysql -u root db ^Z [1]+ 停止 zcat db.sql.gz | mysql -u root db $ jobs [1]+ 停止 zcat db.sql.gz | mysql -u root db $ bg %1 [1]+ zcat db.sql.gz | mysql -u root db…

PackerとAnsibleはめちゃ便利

dev.classmethod.jp

MySQL5.6から5.7に変更する際に起こったエラーについて

vagrantsで今までMySQL5.6を使ってたが、速度が3倍になるということで5.7に変更。 はじめ以下の手順で確かめていた。うまくインストールできない。 # エラーの出る手順 [root # ] yum remove mariadb-libs [root # ] rm -rf /var/lib/mysql/ [root # ] yum l…

SFTPのみ接続可。sshでのシェルは排除。

設定は以下のようにする。 # groupadd sftp_users # usermod -G sftp_users mokyu # vi /etc/ssh/sshd_config 147行目コメント化にしてその下に追記します # override default of no subsystems #Subsystem sftp /usr/libexec/openssh/sftp-server Subsystem…

vimの文字列置換

:%s/置換前文字列/置換後文字列/gc すると一つずつチェックしてくれる。 www.ksknet.net

Apacheのアクセスログはこんな感じでコマンドから調べられる。

切り取ってしまえば、調べが簡単 $ cut -d " " -f 1-8 access_log | grep "google" | grep -ve "10.0.0.1" -vEe "10\.0\.0\.(4[8-9]|5[0-9]|6[0-3])" | wc -l ossfan.net orangain.hatenablog.com ksmzn.hatenablog.com +α帯域制限をかけながらscpなどは行っ…

Webのアクセスピーク時の負荷を測るにはSiegeってものがあるらしい。

Webの最後の負荷テストの時に色々ツールがあると便利だ思った。 他のテストもツールを組み合わせるといい感じに成形できそう。 qiita.com 以下は今のレスポンスタイムを確かめる方法。 $ curl -kL http://google.com -o /dev/null -w "%{time_total}\n" 2> /…

ファイル内の文字列探索

現在のディレクトリ以下のファイルの文字列を探索する方法。 $ find . -type f -name "*.html" | xargs grep ' 探索したい文字列' -n find コマンド | コマンドの使い方(Linux) | hydroculのメモ

入力した行の全消し(ターミナル)

Ctr+uとCtr+kで全消しができる。 あと、iterm2ではshift + Ctr + Hでクリップボードが発動。 bacchi.me

バックグラウンドで動かす方法(runserver)

python runserverを開発環境のバックで回していたい時。 $ nohup python apps/manage.py runserver 0.0.0.0:8000 > /dev/null 2>&1 < /dev/null & $ jobs $ ps aux | grep runserver $ %1 $ kill %1 これでいける。disownもあるけど、こっちの方がログアウト…

curlについて

man curlでもいいが便利だったので、サイトを転載。 qiita.com

workon(mkvirtualenv)について

qiita.com

Apacheのサーバについて

djangoにてrunserverは自動更新するが、apacheはされない。 $ ps aux | grep python $ ps aux | grep httpd $ sudo /usr/local/apache24/bin/apachectl help $ sudo /usr/local/apache24/bin/apachectl graceful すると変更が反映される。 apache勉強しない…

Failed cleaning build dir for cryptographyについて

pipでcryptographyをインストールしようとした時に起こったエラー。 stackoverflowにあった。 $ pip install cryptography Failed cleaning build dir for cryptography !! stackoverflow.com