๋ฐ˜์‘ํ˜•

#ubuntu์—์„œ django


---------------------------------------------------------------------------------

# ์ฐธ๊ณ  

https://tutorial.djangogirls.org/ko/installation/

http://incoffee.tistory.com/6 ---> ์ด๊ฑฐ ๋ณด๊ณ  ํ•จ  

https://uwsgi-docs.readthedocs.io/en/latest/WSGIquickstart.html

http://pythonstudy.xyz/python/article/303-Django-%EC%84%A4%EC%B9%98

https://docs.djangoproject.com/ko/2.0/intro/tutorial01/


# ๋ฒ„์ถ”์–ผ ํ™˜๊ฒฝ ์„ค์ • ๊ด€๋ จ

https://beomi.github.io/2016/12/28/HowToSetup-Virtualenv-VirtualenvWrapper/

---------------------------------------------------------------------------------


[0] apt-get ํŒจํ‚ค์ง€ ์—…๋ฐ์ดํŠธ

$ sudo apt-get update && apt-get upgrade -y


[1] python-pip, python-dev ์„ค์น˜

$ sudo apt-get install python-pip python-dev
$ sudo apt-get install python3-pip python3-dev


[2] ํ™•์ธ

$ pip -V
$ pip3 -V


[3] pip์œผ๋กœ virtualenv virtualenvwrapper ์„ค์น˜

$ pip install virtualenv virtualenvwrapper

$ pip3 install virtualenv virtualenvwrapper


[4] virtualenv ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

$ virtualenv --python=ํŒŒ์ด์ฌ๋ฒ„์ „ ๊ฐ€์ƒํ™˜๊ฒฝ์ด๋ฆ„

# ex)

$ virtualenv --python=python3.5 ๊ฐ€์ƒํด๋”

$ virtualenv --python=python2.7 ๊ฐ€์ƒํด๋”


[5] ๊ฐ€์ƒํ™˜๊ฒฝ ์‹คํ–‰

$ cd ๊ฐ€์ƒํด๋”/bin/

$ source activate


[6] ์žฅ๊ณ ์„ค์น˜

- pip์ด ์ตœ์‹  ๋ฒ„์ „์ธ์ง€ ํ™•์ธ

$ pip install --upgrade pip

$ pip install django~=1.11.0


[7] ์žฅ๊ณ  ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

$ cd ๊ฐ€์ƒํด๋”

$ django-admin startproject mysite .


[8] ์žฅ๊ณ  ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ์„ค์ • ๋ณ€๊ฒฝ

mysite/settings.py


TIME_ZONE = 'Asia/Seoul'

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

ALLOWED_HOSTS = ['127.0.0.1', '.pythonanywhere.com']


์ถ”๊ฐ€ ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์…‹ํŒ… >> ์ด๋ฏธ ๋‚ด๋ถ€์— sqlite3์ด ์„ค์น˜๋˜์–ด ์žˆ๋‹ค๊ณ  ํ•จ.

DATABASES = {

    'default': {

        'ENGINE': 'django.db.backends.sqlite3',

        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),

    }

}


[9] ์‹คํ–‰ (python ์œผ๋กœ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ uWSGI ์œผ๋กœ ์‹คํ–‰)

$ python manage.py migrate ---> ์„œ๋ฒ„ ์ž‘๋™ ํ™•์ธ

$ python manage.py runserver ---> ์„œ๋ฒ„์‹คํ–‰

[9-1] uWSGI๋ฅผ virtualenv์— ์„ค์น˜

$ pip install uwsgi

[9-2] uWSGI ์‹คํ–‰

$ uwsgi --socket :8001 --wsgi-file test.py

[9-3] django ํ”„๋กœ์ ํŠธ ์‹คํ–‰

$ python manage.py runserver

$ uwsgi --socket :8001 --module mysite.wsgi --> ์‹คํ–‰ ๋˜์—ˆ์Œ

>> (test) root@mungmange:/var/www/dev/git_project/dev_toy/py/test/mysite # uwsgi --socket :8001 --module mysite.wsgi

$ uwsgi --http :8001 --module mysite.wsgi #uwsgi --socket :8001 --wsgi-file test.py



[10] nginx ์Šคํฌ๋ฆฝํŠธ

-------------------------------------------

upstream django{

    server localhost:8001;

}

server {


    listen       80;

    server_name  localhost;


    charset utf-8;


location ~ /d {

    uwsgi_pass  django;

include     uwsgi_params; # the uwsgi_params file you installed

}

}

-------------------------------------------

$ service nginx restart


[11] ์ฐธ๊ณ ๋กœ setting.py ํŒŒ์ผ ์ˆ˜์ • ํ›„

$ python manage.py migrate ํ•ด์ฃผ๊ธฐ



[12] ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

$ python manage.py ๊ฐ€์ƒํด๋” blog



----------------------------------------------------------------------------------------------------------------

# python ์ฟผ๋ฆฌ์…‹


[1] shell ์‹คํ–‰

(test) root@mungmange:/var/www/dev/git_project/dev_toy/py/test/mysite# python manage.py shell



[2] ๊ฐ์ฒด ์กฐํšŒ

>>> from blog.models import Post

>>> Post.objects.all()

<QuerySet [<Post: aa>, <Post: aa>, <Post: aa>, <Post: ad>, <Post: sdf>]>


๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

๋ฉ”์ด๋ธ ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ ์ค‘์—


Invalid LOC header


๋ผ๋Š” ์—๋Ÿฌ๊ฐ€ ๋‚˜์™€์„œ ๋ญ”๊ฐ€ํ•˜๊ณ  ์ฐพ์•„๋ณด์•˜๋Š”๋ฐ,


jar ํŒŒ์ผ์ด ๊นจ์ ธ์„œ ํ˜น์€ jar ํŒŒ์ผ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์–ด์„œ ๋‚˜๋Š” ์—๋Ÿฌ๋ผ๊ณ  ํ•œ๋‹ค.


๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒŒ์ผ(*.jar)์„ ์ฐพ์•„ ์ง€์šฐ๊ณ  ๋‹ค์‹œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(*.jar)๋ฅผ ๋ถˆ๋Ÿฌ์™€๋ผ์˜€๋‹ค.

(๋‹ค์‹œ ๋ถˆ๋Ÿฌ์˜จ๋‹ค๋Š”๊ฑด pom.xml ์— ๋‹ค์‹œ ์„ค์ •์„ ํ•˜์—ฌ ๋ถˆ๋Ÿฌ์˜ค๋ผ๋Š” ์–˜๊ธฐ์ผ ๊ฒƒ์ด๊ฒ ์ง€)



์ง€์›Œ๋ณด๊ณ ๋„ ์•ˆ๋˜๋ฉด, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฒ„์ „ํ™•์ธ๋„ ํ•ด๋ณผํ•„์š”๊ฐ€ ์žˆ์„๊ฒƒ์ด๋‹ค.


๋‚˜์˜๊ฒฝ์šฐ๋Š”, aspectj ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ์—๋Ÿฌ์˜€๋Š”๋ฐ,

์ž๋ฐ”๋ฒ„์ „์ด๋ž‘ aspectj๋ฒ„์ „์ด๋ž‘ ์•ˆ๋งž์•„์„œ ๊ทธ๋žฌ๋‹ค.


-- pom.xml

<properties>

<java-version>1.8</java-version>

<org.springframework-version>4.0.4.RELEASE</org.springframework-version>

<org.aspectj-version>1.8.1</org.aspectj-version> <!-- 1.6.0์—์„œ 1.8.1๋กœ ์˜ฌ๋ ค์คŒ-->

<org.slf4j-version>1.6.6</org.slf4j-version>

</properties>


๊ทธ๋žฌ๋”๋‹ˆ ์—๋Ÿฌ๊ฐ€ ์—†์–ด์กŒ๋‹ค.


์ฐธ๊ณ  : https://www.slipp.net/wiki/pages/viewpage.action?pageId=1343532

๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

jdbc ์—ฐ๋™ํ•˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ 


Cannot create PoolableConnectionFactory (Could not create connection to database server.)

์—๋Ÿฌ๊ฐ€๋‚˜์„œ ์ฐพ์•„๋ณด์•˜๋‹ค.



๋‚˜์˜๊ฒฝ์šฐ๋Š” ๋กœ์ปฌ์ด ์•„๋‹Œ ์™ธ๋ถ€์„œ๋ฒ„(aws ์‚ฌ์šฉ)์— ์žˆ๋Š” DB(mysql)์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์‹œ๋„ํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ

์™ธ๋ถ€์—์„œ ๋””๋น„์ ‘๊ทผ์ด ์•ˆ๋˜์„œ ์ €๋Ÿฐ ์—๋Ÿฌ๊ฐ€ ๋‚ฌ๋˜ ๊ฒƒ์ด๋‹ค.



๋”ฐ๋ผ์„œ ๋””๋น„ ๋‚ด์— ์ ‘์† ๊ฐ€๋Šฅํ•œ IP๋ฅผ ์—ด์–ด์ค˜์•ผํ•จ. (ํŠน์ • ์•„์ดํ”ผ ํ˜น์€ ์ „์ฒด)

mysql.user ํ…Œ์ด๋ธ”์— host๋ช…์„ %๋กœ ๋“ฑ๋ก ํ•ด๋†“์œผ๋ฉด ๋ชจ๋“  IP ์ ‘์† ๊ฐ€๋Šฅ




1) ํ•ด๋‹น์„œ๋ฒ„ ๋””๋น„์ ‘์†

root@ip-@@@@:~# mysql -u root -p

Enter password: ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ


2) ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰

mysql> use mysql

mysql>INSERT INTO mysql.user (host,user,authentication_string, ssl_cipher, x509_issuer, x509_subject) VALUES ('%','root',password('๋น„๋ฐ€๋ฒˆํ˜ธ'), '', '', '');

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; -- ๋ชจ๋“  ํ˜ธ์ŠคํŠธ์— ์ ‘์† ํ—ˆ์šฉ...

mysql>FLUSH PRIVILEGES; -- ๊ถŒํ•œ๋ณ€๊ฒฝ ์ ์šฉํ•˜๊ณ , ์•Œ๋ฆฌ๋Š” ๋ช…๋ น์–ด



~ ๋ 



- ์ฐธ์กฐ : https://medium.com/mo-mu/%EA%B0%9C%EB%B0%9C%EC%9D%BC%EC%A7%80-%EC%9B%90%EA%B2%A9%EC%84%9C%EB%B2%84-mysql%EC%97%B0%EA%B2%B0-sql%ED%8C%8C%EC%9D%BC-import-9abfb0a711da


http://zetawiki.com/wiki/MySQL_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9



๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

[1] ํŽธ์ง‘

vi /etc/ssh/sshd_config

PermitRootLogin yes ๋กœ๋ณ€๊ฒฝ



[2] ์žฌ์‹œ์ž‘

service sshd restart

๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

์ฐธ๊ณ ๋กœ ํ‚ค ์—†์ด ๋กœ๊ทธ์ธ์„ ํ•œ๋‹ค๋Š”๊ฑด ๊ทธ๋งŒํผ ๋ณด์•ˆ์— ์ทจ์•ฝํ•˜๋‹ค๋Š”๊ฑธ ์•Œ์•„๋‘๊ณ ..


[1] sshd_config๋ฅผ ์ˆ˜์ •

 sudo vi /etc/ssh/sshd_config


 ...๋‚ด์šฉ์ค‘ 

 PermitRootLogin yes ๋กœ ๋ณ€๊ฒฝ

 PasswordAuthentication yes ๋ณ€๊ฒฝ ํ›„ ์ €์žฅ(:wq!)


[2] ssh ์žฌ์‹œ์ž‘
 sudo service ssh restart


[3] root ๋น„๋ฐ€๋ฒˆํ˜ธ ์„ค์ •

 sudo passwd root 


 Enter new UNIX password: ์‚ฌ์šฉํ•  ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ

 Retype new UNIX password: ์‚ฌ์šฉํ•  ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ

 passwd: password updated successfully


[4] ํ‚ค(*.ppk) ์—†์ด putty ์ ‘์† (๋กœ๊ทธ์ธ์„ root๋กœ..)



์ฐธ๊ณ  : http://ora-sysdba.tistory.com/entry/Cloud-Computing-Amazon-EC2-%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4%EC%9D%98-ROOT-%EA%B3%84%EC%A0%95%ED%99%9C%EC%84%B1%ED%99%94

๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” 22ํฌํŠธ๋Š” ์—ด๋ ค์žˆ๋”๋ผ 

--> ์ธ์Šคํ„ด์Šค ์ƒ์„ฑํ• ๋•Œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ค์ •๋œ์ฑ„๋กœ ์ƒ์„ฑํ•จ 



[๋ณด์•ˆ ๊ทธ๋ฃน] ํด๋ฆญ -> [ํŽธ์ง‘] ํด๋ฆญ



[๊ทœ์น™ ์ถ”๊ฐ€] ํด๋ฆญ -> ํ•ด๋‹น ํฌํŠธ๋“ค ์„ค์ • ํ›„ [์ €์žฅ] ํด๋ฆญ



๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

์ฐธ๊ณ  : https://forum.level1techs.com/t/can-i-go-ahead-and-downgrade-apt-to-upgrade-apt-utils-ubuntu-server-16-04/118116



์šฐ๋ถ„ํˆฌ์—์„œ ๋ญ˜ ์„ค์น˜ํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ..

root@ip-~~~:~# apt-get upgrade

Reading package lists... Done

Building dependency tree

Reading state information... Done

You might want to run 'apt-get -f install' to correct these.

The following packages have unmet dependencies:

 apt-utils : Depends: apt (= 1.2.20) but 1.2.24 is installed

E: Unmet dependencies. Try using -f.



์ด๋Ÿฐ ์—๋Ÿฌ๊ฐ€ ๋‚˜์™€์„œ... ์ฐพ์•„๋ณด์•˜๋‹ค.

apt --fix-broken install 


์„ ์น˜๋‹ˆ๊นŒ apt-get์ด ๋‹ค์‹œ ์‹คํ–‰๋จ.


๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

1. nginx ์„ค์น˜ ๋ฐ ์„ค์ •

์ฐธ๊ณ  : http://altkeycode.tistory.com/10


1-1) ์„ค์น˜

yum install nginx


1-2) nginx ์„ค์ •ํŒŒ์ผ ์ˆ˜์ • 

( /etc/nginx/cond.f/default.conf )


1-3) ๋ถ€ํŒ…์‹œ ์ž๋™์‹œ์ž‘

systemctl enable nginx


1-4) ์ง€๊ธˆ ์‹คํ–‰

systemctl start nginx


1-3) ๋ฐฉํ™”๋ฒฝ ์˜คํ”ˆ

firewall-cmd --zone=public --add-port=80/tcp --permanent


1-4) ๋ฐฉํ™”๋ฒฝ ์žฌ์‹œ์ž‘

firewall-cmd --reload


1-5) ๋ฒ„์ถ”์–ผ๋ฐ•์Šค์—์„œ ํฌํŠธํฌ์›Œ๋”ฉ ์ฒ˜๋ฆฌ

์„ค์ •>๋„คํŠธ์›Œํฌ>๊ณ ๊ธ‰(D)>ํฌํŠธํฌ์›Œ๋”ฉ(P)



2. 80 ํฌํŠธ ์‹คํ–‰ ์•ˆ๋  ์‹œ


2-1) 80ํฌํŠธ ์—ด๋ ค์žˆ๋Š”์ง€ ํ™•์ธ

netstat -ntpa | grep 80


2-2) netstat ๋ช…๋ น์–ด ์‹คํ–‰ ์•ˆ๋œ๋‹ค๋ฉด?

yum install net-tools



์ฐธ๊ณ  : http://blog.daum.net/bondj/19



๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

nginx ์„ค์น˜ ํ›„ 

80ํฌํŠธ ์‹คํ–‰์„ ํ™•์ธํ•˜๋ ค ํ•˜์˜€์œผ๋‚˜

IIS ์‹œ์ž‘ํ™”๋ฉด ๊ฐ™์€๊ฒŒ ๋‚˜์™”๋‹ค.

Window10 ํ™˜๊ฒฝ... ์œˆ8์ด๋‚˜ ์œˆ10์—์„œ ๋‚˜์˜ค๋Š” ํ™”๋ฉด์ธ ๊ฒƒ ๊ฐ™์€๋ฐ

์ด๋ฅผ ์•ˆ๋‚˜์˜ค๊ฒŒ ํ•˜๋ ค๋ฉด



์ œ์–ดํŒ>์„œ๋น„์Šค ์— ๋“ค์–ด๊ฐ€




์ € ํŒŒ๋ž€์ƒ‰ ๋ฐ•์Šค๋ฅผ ์ค‘์ง€๋ฅผ ํ•˜์—ฌ๋ผ (๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์ค‘์ง€ ๋ฒ„ํŠผ์„ ํด๋ฆญ)


๊ทธํ›„์— 80ํฌํŠธ ์ ‘์† ์‹œ ์›ํ•˜๋Š”...ํŽ˜์ด์ง€๊ฐ€ ์‹คํ–‰๋  ๊ฒƒ์ด๋‹ค.


์ฐธ๊ณ  : http://ssftc.blogspot.kr/2015/08/10-80.html

๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

Centos7์„ ์„ค์น˜ํ•˜๊ณ  ์ ‘์† ํ›„ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•˜๋ ค๊ณ  ํ• ๋•Œ 

(yum ์ด ์‹คํ–‰์ด ์•ˆ๋  ๋–„)


cannot find a valid baseurl for repo base/7/x86_64

๋ผ๋Š” ์—๋Ÿฌ๊ฐ€ ๋‚  ์‹œ์—


ONBOOT=no


dhclient


yum update

y ์ž…๋ ฅ, y ์ž…๋ ฅ



์ด์ˆœ์„œ๋กœ ์‹คํ–‰ํ•˜์—ฌ๋ผ. ๊ทธ๋Ÿผ๋œ๋‹ค.


์ฐธ๊ณ  : https://www.youtube.com/watch?v=HyVul-vNwYM


๋ฐ˜์‘ํ˜•

+ Recent posts