RHEL 8 เจฌเฉเจเจพ เจกเจฟเจตเฉเจฒเจชเจฐเจพเจ เจจเฉเฉฐ เจฌเจนเฉเจค เจธเจพเจฐเฉเจเจ เจจเจตเฉเจเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจฆเฉ เจชเฉเจธเจผเจเจธเจผ เจเจฐเจฆเจพ เจนเฉ, เจเจฟเจจเฉเจนเจพเจ เจฆเฉ เจธเฉเจเฉ เจชเฉฐเจจเฉ เจฒเฉ เจธเจเจฆเฉ เจนเฉ, เจนเจพเจฒเจพเจเจเจฟ, เจจเจตเฉเจเจ เจเฉเจเจผเจพเจ เจธเจฟเฉฑเจเจฃเจพ เจนเจฎเฉเจธเจผเจพ เจ เจญเจฟเจเจธ เจตเจฟเฉฑเจ เจฌเจฟเจนเจคเจฐ เจนเฉเฉฐเจฆเจพ เจนเฉ, เจเจธ เจฒเจ เจนเฉเจ เจพเจ เจ เจธเฉเจ Red Hat Enterprise Linux 8 เจฌเฉเจเจพ 'เจคเฉ เจ เจงเจพเจฐเจค เจเฉฑเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฌเฉเจจเจฟเจเจฆเฉ เจขเจพเจเจเจพ เจฌเจฃเจพเจเจฃ เจฒเจ เจเฉฑเจ เจตเจฐเจเจธเจผเจพเจช เจชเฉเจธเจผ เจเจฐเจฆเฉ เจนเจพเจเฅค
เจเจฒเฉ เจชเจพเจเจฅเจจ, เจกเจฟเจตเฉเจฒเจชเจฐเจพเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจชเฉเจฐเจธเจฟเฉฑเจง เจชเฉเจฐเฉเจเฉเจฐเจพเจฎเจฟเฉฐเจ เจญเจพเจธเจผเจพ เจจเฉเฉฐ เจเฉฑเจ เจ
เจงเจพเจฐ เจฆเฉ เจคเฉเจฐ เจคเฉ, Django เจ
เจคเฉ PostgreSQL เจฆเจพ เจธเฉเจฎเฉเจฒ, เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฌเจฃเจพเจเจฃ เจฒเจ เจเฉฑเจ เจเจพเจซเจผเฉ เจเจฎ เจธเฉเจฎเฉเจฒ, เจ
เจคเฉ เจเจนเจจเจพเจ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจ เจฒเจ RHEL 8 เจฌเฉเจเจพ เจจเฉเฉฐ เจธเฉฐเจฐเจเจฟเจค เจเจฐเฉเจเฅค เจซเจฟเจฐ เจ
เจธเฉเจ เจเฉเจ เจนเฉเจฐ (เจ
เจตเจฐเจเฉเจเฉเจฐเจฟเจค) เจธเจฎเฉฑเจเจฐเฉ เจธเจผเจพเจฎเจฒ เจเจฐเจพเจเจเฉเฅค
เจเฉเจธเจ เจตเจพเจคเจพเจตเจฐเจฃ เจฌเจฆเจฒ เจเจพเจตเฉเจเจพ, เจเจฟเจเจเจเจฟ เจเจน เจเจเฉเจฎเฉเจธเจผเจจ เจฆเฉเจเจ เจธเฉฐเจญเจพเจตเจจเจพเจตเจพเจ เจฆเฉ เจชเฉเจเฉเจฒ เจเจฐเจจเจพ, เจเฉฐเจเฉเจจเจฐเจพเจ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจเจพ เจ
เจคเฉ เจฎเจฒเจเฉเจชเจฒ เจธเจฐเจตเจฐเจพเจ เจจเจพเจฒ เจตเจพเจคเจพเจตเจฐเจฃ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเจจเจพ เจฆเจฟเจฒเจเจธเจช เจนเฉเฅค เจเฉฑเจ เจจเจตเฉเจ เจชเฉเจฐเฉเจเฉเจเจ เจจเจพเจฒ เจธเจผเฉเจฐเฉเจเจค เจเจฐเจจ เจฒเจ, เจคเฉเจธเฉเจ เจนเฉฑเจฅเจพเจ เจจเจพเจฒ เจเฉฑเจ เจเฉเจเจพ, เจธเจงเจพเจฐเจจ เจชเฉเจฐเฉเจเฉเจเจพเจเจช เจฌเจฃเจพ เจเฉ เจธเจผเฉเจฐเฉเจเจค เจเจฐ เจธเจเจฆเฉ เจนเฉ เจคเจพเจ เจเฉ เจคเฉเจธเฉเจ เจเจน เจฆเฉเจ เจธเจเฉ เจเจฟ เจเฉ เจนเฉเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ เจ
เจคเฉ เจเจน เจเจฟเจตเฉเจ เจเฉฐเจเจฐเฉเจเจ เจเจฐเจฆเจพ เจนเฉ, เจ
เจคเฉ เจซเจฟเจฐ เจธเจตเฉเจเจฒเจฟเจค เจ
เจคเฉ เจนเฉเจฐ เจเฉเฉฐเจเจฒเจฆเจพเจฐ เจธเฉฐเจฐเจเจจเจพเจตเจพเจ เจฌเจฃเจพเจเจฃ เจฒเจ เจ
เฉฑเจเฉ เจตเจงเฉเฅค เจ
เฉฑเจ เจ
เจธเฉเจ เจ
เจเจฟเจนเฉ เจชเฉเจฐเฉเจเฉเจเจพเจเจช เจฌเจฃเจพเจเจฃ เจฌเจพเจฐเฉ เจเฉฑเจฒ เจเจฐ เจฐเจนเฉ เจนเจพเจเฅค
เจเจ RHEL 8 เจฌเฉเจเจพ VM เจเจฟเฉฑเจคเจฐ เจจเฉเฉฐ เจคเฉเจจเจพเจค เจเจฐเจเฉ เจธเจผเฉเจฐเฉ เจเจฐเฉเจเฅค เจคเฉเจธเฉเจ เจธเจเฉเจฐเฉเจ เจคเฉเจ เจเฉฑเจ เจตเจฐเจเฉเจ เจฒ เจฎเจธเจผเฉเจจ เจเฉฐเจธเจเจพเจฒ เจเจฐ เจธเจเจฆเฉ เจนเฉ, เจเจพเจ เจเจชเจฃเฉ เจฌเฉเจเจพ เจเจพเจนเจเฉ เจจเจพเจฒ เจเจชเจฒเจฌเจง KVM เจฎเจนเจฟเจฎเจพเจจ เจเจฟเฉฑเจคเจฐ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค เจเฉฑเจ เจฎเจนเจฟเจฎเจพเจจ เจเจฟเฉฑเจคเจฐ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจธเจฎเฉเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจเฉฑเจ เจตเจฐเจเฉเจ เจฒ เจธเฉเจกเฉ เจฆเฉ เจธเฉฐเจฐเจเจจเจพ เจเจฐเจจเฉ เจชเจตเฉเจเฉ เจเจฟเจธ เจตเจฟเฉฑเจ เจเจฒเจพเจเจก เจธเจผเฉเจฐเฉเจเจค (เจเจฒเจพเจเจก-เจเจจเจฟเจ) เจฒเจ เจฎเฉเจเจพเจกเฉเจเจพ เจ เจคเฉ เจเจชเจญเฉเจเจคเจพ เจกเฉเจเจพ เจธเจผเจพเจฎเจฒ เจนเฉเจตเฉเจเจพเฅค เจคเฉเจนเจพเจจเฉเฉฐ เจกเจฟเจธเจ เจขเจพเจเจเฉ เจเจพเจ เจเจชเจฒเจฌเจง เจชเฉเจเฉเจเจพเจ เจจเจพเจฒ เจเฉเจ เจเจพเจธ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉ; เจเฉเจ เจตเฉ เจธเฉฐเจฐเจเจจเจพ เจเจฐเฉเจเฉเฅค
เจเจ เจธเจพเจฐเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ 'เจคเฉ เจเฉฑเจ เจกเฉเฉฐเจเฉ เจตเจฟเจเจพเจฐ เจเจฐเฉเจ.
Django เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเฉเจคเจพ เจเจพ เจฐเจฟเจนเจพ เจนเฉ
Django เจฆเฉ เจจเจตเฉเจจเจคเจฎ เจธเฉฐเจธเจเจฐเจฃ เจฆเฉ เจจเจพเจฒ, เจคเฉเจนเจพเจจเฉเฉฐ Python 3.5 เจเจพเจ เจเจธเจคเฉเจ เจฌเจพเจ เจฆ เจตเจพเจฒเฉ เจตเจฐเจเฉเจ เจฒ เจตเจพเจคเจพเจตเจฐเจจ (virtualenv) เจฆเฉ เจฒเฉเฉ เจนเฉเจตเฉเจเฉเฅค เจฌเฉเจเจพ เจจเฉเจเจธ เจตเจฟเฉฑเจ เจคเฉเจธเฉเจ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉ เจเจฟ เจชเจพเจเจฅเจจ 3.6 เจเจชเจฒเจฌเจง เจนเฉ, เจเจ เจเจพเจเจ เจเจฐเฉเจ เจเจฟ เจเฉ เจเจน เจ เจธเจฒ เจตเจฟเฉฑเจ เจนเฉ:
[cloud-user@8beta1 ~]$ python
-bash: python: command not found
[cloud-user@8beta1 ~]$ python3
-bash: python3: command not found
Red Hat เจธเจฐเจเจฐเจฎเฉ เจจเจพเจฒ RHEL เจตเจฟเฉฑเจ เจชเจพเจเจฅเจจ เจจเฉเฉฐ เจธเจฟเจธเจเจฎ เจเฉเจฒเจเจฟเฉฑเจ เจตเจเฉเจ เจตเจฐเจคเจฆเจพ เจนเฉ, เจคเจพเจ เจเจน เจจเจคเฉเจเจพ เจเจฟเจเจ เจจเจฟเจเจฒเจฆเจพ เจนเฉ?
เจคเฉฑเจฅ เจเจน เจนเฉ เจเจฟ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจชเจพเจเจฅเจจ เจกเจฟเจตเฉเจฒเจชเจฐ เจ
เจเฉ เจตเฉ เจชเจพเจเจฅเจจ 2 เจคเฉเจ เจชเจพเจเจฅเจจ 2 เจตเจฟเฉฑเจ เจคเจฌเจฆเฉเจฒเฉ เจฌเจพเจฐเฉ เจตเจฟเจเจพเจฐ เจเจฐ เจฐเจนเฉ เจนเจจ, เจเจฆเฉเจ เจเจฟ เจชเจพเจเจฅเจจ 3 เจเจชเจฃเฉ เจเจช เจตเจฟเฉฑเจ เจธเจฐเจเจฐเจฎ เจตเจฟเจเจพเจธ เจ
เจงเฉเจจ เจนเฉ, เจ
เจคเฉ เจตเฉฑเจง เจคเฉเจ เจตเฉฑเจง เจจเจตเฉเจ เจธเฉฐเจธเจเจฐเจฃ เจฒเจเจพเจคเจพเจฐ เจฆเจฟเจเจพเจ เจฆเฉ เจฐเจนเฉ เจนเจจเฅค เจเจธ เจฒเจ, เจเจชเจญเฉเจเจคเจพเจตเจพเจ เจจเฉเฉฐ เจชเจพเจเจฅเจจ เจฆเฉ เจตเฉฑเจ-เจตเฉฑเจ เจจเจตเฉเจ เจธเฉฐเจธเจเจฐเจฃเจพเจ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเฉ เจนเฉเจ เจธเจฅเจฟเจฐ เจธเจฟเจธเจเจฎ เจเฉเจฒเจธ เจฆเฉ เจฒเฉเฉ เจจเฉเฉฐ เจชเฉเจฐเจพ เจเจฐเจจ เจฒเจ, เจธเจฟเจธเจเจฎ เจชเจพเจเจฅเจจ เจจเฉเฉฐ เจเฉฑเจ เจจเจตเฉเจ เจชเฉเจเฉเจ เจตเจฟเฉฑเจ เจคเจฌเจฆเฉเจฒ เจเฉเจคเจพ เจเจฟเจ เจธเฉ เจ
เจคเฉ เจชเจพเจเจฅเจจ 2.7 เจ
เจคเฉ 3.6 เจฆเฉเจตเจพเจ เจจเฉเฉฐ เจเฉฐเจธเจเจพเจฒ เจเจฐเจจ เจฆเฉ เจฏเฉเจเจคเจพ เจชเฉเจฐเจฆเจพเจจ เจเฉเจคเฉ เจเจ เจธเฉเฅค เจคเจฌเจฆเฉเจฒเฉเจเจ เจ
เจคเฉ เจเจน เจเจฟเจเจ เจเฉเจคเฉเจเจ เจเจเจเจ เจธเจจ, เจเจธ เจฌเจพเจฐเฉ เจนเฉเจฐ เจเจพเจฃเจเจพเจฐเฉ เจตเจฟเฉฑเจ เจชเฉเจฐเจเจพเจธเจผเจจ เจตเจฟเฉฑเจ เจฒเฉฑเจญเฉ เจเจพ เจธเจเจฆเฉ เจนเฉ
เจเจธ เจฒเจ, เจเฉฐเจฎ เจเจฐเจจ เจตเจพเจฒเฉ เจชเจพเจเจฅเจจ เจจเฉเฉฐ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจธเจฟเจฐเจซเจผ เจฆเฉ เจชเฉเจเฉเจ เจธเจฅเจพเจชเจค เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ, เจเจฟเจธ เจตเจฟเฉฑเจ python3-pip เจเฉฑเจ เจจเจฟเจฐเจญเจฐเจคเจพ เจตเจเฉเจ เจธเจผเจพเจฎเจฒ เจนเฉเฅค
sudo yum install python36 python3-virtualenv
เจเจฟเจเจ เจจเจพ เจธเจฟเฉฑเจงเฉ เจฎเฉเจกเฉเจเจฒ เจเจพเจฒเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเฉ เจเจฟเจตเฉเจ เจเจฟ เจฒเฉเจเจเจกเจจ เจจเฉ เจธเฉเจเจพเจ เจฆเจฟเฉฑเจคเจพ เจนเฉ เจ เจคเฉ เจชเจพเจเจช3 เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเฉ? เจเจเจพเจฎเฉ เจเจเฉเจฎเฉเจธเจผเจจ เจจเฉเฉฐ เจงเจฟเจเจจ เจตเจฟเฉฑเจ เจฐเฉฑเจเจฆเฉ เจนเฉเจ, เจเจน เจเจพเจฃเจฟเจ เจเจพเจเจฆเจพ เจนเฉ เจเจฟ Ansible เจจเฉเฉฐ เจเฉฑเจฒเจฃ เจฒเจ เจชเจพเจเจช เจเฉฐเจธเจเจพเจฒ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเจตเฉเจเฉ, เจเจฟเจเจเจเจฟ เจชเจพเจเจช เจฎเฉเจกเฉเจเจฒ เจเฉฑเจ เจเจธเจเจฎ เจชเจพเจเจช เจเจเจเจผเฉเจเจฟเจเจเฉเจฌเจฒ เจจเจพเจฒ เจตเจฐเจเฉเจ เจฒเฉเจจเจต เจฆเจพ เจธเจฎเจฐเจฅเจจ เจจเจนเฉเจ เจเจฐเจฆเจพ เจนเฉเฅค
เจคเฉเจนเจพเจกเฉ เจจเจฟเจชเจเจพเจฐเฉ 'เจคเฉ เจเฉฐเจฎ เจเจฐเจจ เจตเจพเจฒเฉ python3 เจฆเฉเจญเจพเจธเจผเฉเจ เจฆเฉ เจจเจพเจฒ, เจคเฉเจธเฉเจ Django เจเฉฐเจธเจเจพเจฒเฉเจธเจผเจจ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจจเฉเฉฐ เจเจพเจฐเฉ เจฐเฉฑเจ เจธเจเจฆเฉ เจนเฉ เจ เจคเฉ เจธเจพเจกเฉ เจฆเฉเจเฉ เจญเจพเจเจพเจ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจเจพเจฐเจ เจชเฉเจฐเจฃเจพเจฒเฉ เจตเฉ เจฐเฉฑเจ เจธเจเจฆเฉ เจนเฉเฅค เจเฉฐเจเจฐเจจเฉเฉฑเจ 'เจคเฉ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจฒเจพเจเฉ เจเจฐเจจ เจฆเฉ เจตเจฟเจเจฒเจช เจเจชเจฒเจฌเจง เจนเจจเฅค เจเฉฑเจฅเฉ เจเฉฑเจ เจธเฉฐเจธเจเจฐเจฃ เจชเฉเจธเจผ เจเฉเจคเจพ เจเจฟเจ เจนเฉ, เจชเจฐ เจเจชเจญเฉเจเจคเจพ เจเจชเจฃเฉเจเจ เจเฉเจฆ เจฆเฉเจเจ เจชเฉเจฐเจเจฟเจฐเจฟเจเจตเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจธเจเจฆเฉ เจนเจจเฅค
เจ เจธเฉเจ เจฏเฉเจฎ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจกเจฟเจซเฉเจฒเจ เจฐเฉเจช เจตเจฟเฉฑเจ RHEL 8 เจตเจฟเฉฑเจ เจเจชเจฒเจฌเจง PostgreSQL เจ เจคเฉ Nginx เจธเฉฐเจธเจเจฐเจฃเจพเจ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเจพเจเจเฉเฅค
sudo yum install nginx postgresql-server
PostgreSQL เจจเฉเฉฐ psycopg2 เจฆเฉ เจฒเฉเฉ เจนเฉเจตเฉเจเฉ, เจชเจฐ เจเจน เจเฉเจตเจฒ เจเฉฑเจ เจตเจฐเจเฉเจ เจฒเฉเจจเจต เจตเจพเจคเจพเจตเจฐเจจ เจตเจฟเฉฑเจ เจเจชเจฒเจฌเจง เจนเฉเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ, เจเจธเจฒเจ เจ เจธเฉเจ เจเจธเจจเฉเฉฐ Django เจ เจคเฉ Gunicorn เจฆเฉ เจจเจพเจฒ pip3 เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเฉฐเจธเจเจพเจฒ เจเจฐเจพเจเจเฉเฅค เจชเจฐ เจชเจนเจฟเจฒเจพเจ เจธเจพเจจเฉเฉฐ virtualenv เจธเฉเจ เจ เจช เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค
Django เจชเฉเจฐเฉเจเฉเจเจเจพเจ เจจเฉเฉฐ เจธเจฅเจพเจชเจค เจเจฐเจจ เจฒเจ เจธเจนเฉ เจเจเฉเจนเจพ เจฆเฉ เจเฉเจฃ เจเจฐเจจ เจฆเฉ เจตเจฟเจธเจผเฉ 'เจคเฉ เจนเจฎเฉเจธเจผเจพเจ เจฌเจนเฉเจค เจฌเจนเจฟเจธ เจนเฉเฉฐเจฆเฉ เจนเฉ, เจชเจฐ เจเจฆเฉเจ เจธเจผเฉฑเจ เจนเฉเจตเฉ, เจคเจพเจ เจคเฉเจธเฉเจ เจนเจฎเฉเจธเจผเจพเจ เจฒเฉเจจเจเจธ เจซเจพเจเจฒเจธเจฟเจธเจเจฎ เจฒเฉเฉเจตเจพเจฐ เจธเจเฉเจเจกเจฐเจก เจตเฉฑเจฒ เจฎเฉเฉ เจธเจเจฆเฉ เจนเฉเฅค เจเจพเจธ เจคเฉเจฐ 'เจคเฉ, FHS เจเจนเจฟเฉฐเจฆเจพ เจนเฉ เจเจฟ /srv เจฆเฉ เจตเจฐเจคเฉเจ เจเจธ เจฒเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ: "เจนเฉเจธเจ-เจตเจฟเจธเจผเฉเจธเจผ เจกเฉเจเจพ เจจเฉเฉฐ เจธเจเฉเจฐ เจเจฐเจจ เจฒเจโเจธเจฟเจธเจเจฎ เจฆเฉเจเจฐเจพ เจชเฉเจฆเจพ เจเฉเจคเฉ เจเจพเจฃ เจตเจพเจฒเฉ เจกเฉเจเจพ, เจเจฟเจตเฉเจ เจเจฟ เจตเฉเฉฑเจฌ เจธเจฐเจตเจฐ เจกเฉเจเจพ เจ เจคเฉ เจธเจเฉเจฐเจฟเจชเจเจพเจ, FTP เจธเจฐเจตเจฐเจพเจ 'เจคเฉ เจธเจเฉเจฐ เจเฉเจคเจพ เจกเฉเจเจพ, เจ เจคเฉ เจธเจฟเจธเจเจฎ เจฐเจฟเจชเฉเจเจผเจเจฐเฉเจเจ เจจเฉเฉฐ เจจเจฟเจฏเฉฐเจคเจฐเจฟเจค เจเจฐเจจ เจฒเจเฅค" เจธเฉฐเจธเจเจฐเจฃ (FHS เจตเจฟเฉฑเจ เจฆเจฟเจเจพเจ เจฆเจฟเฉฐเจฆเฉ เจนเจจเฅค -2.3 2004 เจตเจฟเฉฑเจ)เฅค"
เจเจน เจฌเจฟเจฒเจเฉเจฒ เจธเจพเจกเจพ เจฎเจพเจฎเจฒเจพ เจนเฉ, เจเจธเจฒเจ เจ เจธเฉเจ /srv เจตเจฟเฉฑเจ เจฒเฉเฉเฉเจเจฆเฉ เจนเจฐ เจเฉเจเจผ เจชเจพเจเจเจฆเฉ เจนเจพเจ, เจเฉ เจธเจพเจกเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเจชเจญเฉเจเจคเจพ (เจเจฒเจพเจเจก-เจเจชเจญเฉเจเจคเจพ) เจฆเฉ เจฎเจฒเจเฉเจ เจค เจนเฉเฅค
sudo mkdir /srv/djangoapp
sudo chown cloud-user:cloud-user /srv/djangoapp
cd /srv/djangoapp
virtualenv django
source django/bin/activate
pip3 install django gunicorn psycopg2
./django-admin startproject djangoapp /srv/djangoapp
PostgreSQL เจ เจคเฉ Django เจธเฉเจ เจ เจช เจเจฐเจจเจพ เจเจธเจพเจจ เจนเฉ: เจเฉฑเจ เจกเฉเจเจพเจฌเฉเจธ เจฌเจฃเจพเจ, เจเฉฑเจ เจเจชเจญเฉเจเจคเจพ เจฌเจฃเจพเจ, เจ เจจเฉเจฎเจคเฉเจเจ เจจเฉเฉฐ เจเฉเจเจซเจฟเจเจฐ เจเจฐเฉเฅค PostgreSQL เจจเฉเฉฐ เจเฉฐเจธเจเจพเจฒ เจเจฐเจจ เจตเฉเจฒเฉ เจเฉฑเจ เจเฉฑเจฒ เจงเจฟเจเจจ เจตเจฟเฉฑเจ เจฐเฉฑเจเจฃ เจตเจพเจฒเฉ เจนเฉ postgresql-setup เจธเจเฉเจฐเจฟเจชเจ เจเฉ postgresql-server เจชเฉเจเฉเจ เจจเจพเจฒ เจเฉฐเจธเจเจพเจฒ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค เจเจน เจธเจเฉเจฐเจฟเจชเจ เจคเฉเจนเจพเจจเฉเฉฐ เจกเจพเจเจพเจฌเฉเจธ เจเจฒเฉฑเจธเจเจฐ เจชเฉเจฐเจธเจผเจพเจธเจจ เจจเจพเจฒ เจเฉเฉเฉ เจฌเฉเจจเจฟเจเจฆเฉ เจเฉฐเจฎ เจเจฐเจจ เจตเจฟเฉฑเจ เจฎเจฆเจฆ เจเจฐเจฆเฉ เจนเฉ, เจเจฟเจตเฉเจ เจเจฟ เจเจฒเฉฑเจธเจเจฐ เจธเจผเฉเจฐเฉเจเจค เจเจพเจ เจ เฉฑเจชเจเจฐเฉเจก เจชเฉเจฐเจเจฟเจฐเจฟเจเฅค RHEL เจธเจฟเจธเจเจฎ เจเฉฑเจคเฉ เจเฉฑเจ เจจเจตเฉเจ PostgreSQL เจเจฆเจพเจนเจฐเจจ เจฆเฉ เจธเฉฐเจฐเจเจจเจพ เจเจฐเจจ เจฒเจ, เจธเจพเจจเฉเฉฐ เจเจฎเจพเจเจก เจเจฒเจพเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ:
sudo /usr/bin/postgresql-setup -initdb
เจคเฉเจธเฉเจ เจซเจฟเจฐ systemd เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ PostgreSQL เจธเจผเฉเจฐเฉ เจเจฐ เจธเจเจฆเฉ เจนเฉ, เจเฉฑเจ เจกเฉเจเจพเจฌเฉเจธ เจฌเจฃเจพ เจธเจเจฆเฉ เจนเฉ, เจ เจคเฉ Django เจตเจฟเฉฑเจ เจเฉฑเจ เจชเฉเจฐเฉเจเฉเจเจ เจธเจฅเจพเจชเจค เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเจชเจญเฉเจเจคเจพ เจฒเจ เจชเจพเจธเจตเจฐเจก เจธเจเฉเจฐเฉเจ เจธเฉฐเจฐเจเจฟเจค เจเจฐเจจ เจฒเจ เจเจฒเจพเจเฉฐเจ เจชเฉเจฐเจฎเจพเจฃเฉเจเจฐเจจ เจธเฉฐเจฐเจเจจเจพ เจซเจพเจเจฒ (เจเจฎ เจคเฉเจฐ 'เจคเฉ pg_hba.conf) เจตเจฟเฉฑเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจเจฐเจจ เจคเฉเจ เจฌเจพเจ เจฆ PostgreSQL เจจเฉเฉฐ เจฎเฉเฉ เจเจพเจฒเฉ เจเจฐเจจเจพ เจฏเจพเจฆ เจฐเฉฑเจเฉเฅค เจเฉเจเจฐ เจคเฉเจนเจพเจจเฉเฉฐ เจนเฉเจฐ เจฎเฉเจธเจผเจเจฒเจพเจ เจเจเจเจฆเฉเจเจ เจนเจจ, เจคเจพเจ pg_hba.conf เจซเจพเจเจฒ เจตเจฟเฉฑเจ IPv4 เจ เจคเฉ IPv6 เจธเฉเจเจฟเฉฐเจเจพเจ เจจเฉเฉฐ เจฌเจฆเจฒเจฃเจพ เจฏเจเฉเจจเฉ เจฌเจฃเจพเจเฅค
systemctl enable -now postgresql
sudo -u postgres psql
postgres=# create database djangoapp;
postgres=# create user djangouser with password 'qwer4321';
postgres=# alter role djangouser set client_encoding to 'utf8';
postgres=# alter role djangouser set default_transaction_isolation to 'read committed';
postgres=# alter role djangouser set timezone to 'utc';
postgres=# grant all on DATABASE djangoapp to djangouser;
postgres=# q
เจซเจพเจเจฒ /var/lib/pgsql/data/pg_hba.conf เจตเจฟเฉฑเจ:
# IPv4 local connections:
host all all 0.0.0.0/0 md5
# IPv6 local connections:
host all all ::1/128 md5
เจซเจพเจเจฒ /srv/djangoapp/settings.py เจตเจฟเฉฑเจ:
# Database
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': '{{ db_name }}',
'USER': '{{ db_user }}',
'PASSWORD': '{{ db_password }}',
'HOST': '{{ db_host }}',
}
}
เจชเฉเจฐเฉเจเฉเจเจ เจตเจฟเฉฑเจ settings.py เจซเจพเจเจฒ เจจเฉเฉฐ เจเฉเจเจซเจฟเจเจฐ เจเจฐเจจ เจ เจคเฉ เจกเฉเจเจพเจฌเฉเจธ เจเฉเจเจซเจฟเจเจฐเฉเจธเจผเจจ เจธเจฅเจพเจชเจค เจเจฐเจจ เจคเฉเจ เจฌเจพเจ เจฆ, เจคเฉเจธเฉเจ เจเจน เจฏเจเฉเจจเฉ เจฌเจฃเจพเจเจฃ เจฒเจ เจตเจฟเจเจพเจธ เจธเจฐเจตเจฐ เจธเจผเฉเจฐเฉ เจเจฐ เจธเจเจฆเฉ เจนเฉ เจเจฟ เจธเจญ เจเฉเจ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉเฅค เจตเจฟเจเจพเจธ เจธเจฐเจตเจฐ เจธเจผเฉเจฐเฉ เจเจฐเจจ เจคเฉเจ เจฌเจพเจ เจฆ, เจกเฉเจเจพเจฌเฉเจธ เจจเจพเจฒ เจเฉเจจเฉเจเจธเจผเจจ เจฆเฉ เจเจพเจเจ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจเจกเจฎเจฟเจจ เจเจชเจญเฉเจเจคเจพ เจฌเจฃเจพเจเจฃเจพ เจเฉฑเจ เจเฉฐเจเจพ เจตเจฟเจเจพเจฐ เจนเฉเฅค
./manage.py runserver 0.0.0.0:8000
./manage.py createsuperuser
WSGI? เจตเจพเจ?
เจตเจฟเจเจพเจธ เจธเจฐเจตเจฐ เจเฉเจธเจเจฟเฉฐเจ เจฒเจ เจเจชเจฏเฉเจเฉ เจนเฉ, เจชเจฐ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจฒเจ เจคเฉเจนเจพเจจเฉเฉฐ เจตเฉเฉฑเจฌ เจธเจฐเจตเจฐ เจเฉเจเจตเฉ เจเฉฐเจเจฐเจซเฉเจธ (WSGI) เจฒเจ เจขเฉเจเจตเฉเจ เจธเจฐเจตเจฐ เจ เจคเฉ เจชเฉเจฐเฉเจเจธเฉ เจฆเฉ เจธเฉฐเจฐเจเจจเจพ เจเจฐเจจเฉ เจเจพเจนเฉเจฆเฉ เจนเฉเฅค เจเจ เจเจฎ เจธเฉฐเจเฉเจ เจนเจจ, เจเจฆเจพเจนเจฐเจจ เจฒเจ, uWSGI เจจเจพเจฒ เจ เจชเจพเจเฉ HTTPD เจเจพเจ Gunicorn เจฆเฉ เจจเจพเจฒ Nginxเฅค
เจตเฉเฉฑเจฌ เจธเจฐเจตเจฐ เจเฉเจเจตเฉ เจเฉฐเจเจฐเจซเฉเจธ เจฆเจพ เจเฉฐเจฎ เจตเฉเจฌ เจธเจฐเจตเจฐ เจคเฉเจ เจชเจพเจเจฅเจจ เจตเฉเฉฑเจฌ เจซเจฐเฉเจฎเจตเจฐเจ เจฒเจ เจฌเฉเจจเจคเฉเจเจ เจจเฉเฉฐ เจ เฉฑเจเฉ เจญเฉเจเจฃเจพ เจนเฉเฅค WSGI เจญเจฟเจเจจเจ เจ เจคเฉเจค เจฆเฉ เจเฉฑเจ เจฏเจพเจฆ เจนเฉ เจเจฆเฉเจ CGI เจเฉฐเจเจฃ เจเจฒเฉ-เจฆเฉเจเจฒเฉ เจธเจจ, เจ เจคเฉ เจ เฉฑเจ WSGI เจ เจธเจฒ เจฎเจฟเจเจฐเฉ เจนเฉ, เจตเฉเฉฑเจฌ เจธเจฐเจตเจฐ เจเจพเจ เจชเจพเจเจฅเจจ เจซเจฐเฉเจฎเจตเจฐเจ เจฆเฉ เจชเจฐเจตเจพเจน เจเฉเจคเฉ เจฌเจฟเจจเจพเจเฅค เจชเจฐ เจเจธเจฆเฉ เจตเจฟเจเจชเจ เจตเจฐเจคเฉเจ เจฆเฉ เจฌเจพเจตเจเฉเจฆ, เจเจนเจจเจพเจ เจซเจฐเฉเจฎเจตเจฐเจ เจฆเฉ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจฆเฉ เจธเจฎเฉเจ เจ เจเฉ เจตเฉ เจฌเจนเฉเจค เจธเจพเจฐเฉเจเจ เจธเฉเจเจฎเจคเจพเจตเจพเจ เจ เจคเฉ เจฌเจนเฉเจค เจธเจพเจฐเฉเจเจ เจเฉเจฃเจพเจ เจนเจจ. เจเจธ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ, เจ เจธเฉเจ เจเฉฑเจ เจธเจพเจเจ เจฆเฉเจเจฐเจพ เจเฉเจจเฉเจเฉเจฐเจจ เจ เจคเฉ เจเจจเจเฉเจจเฉเจเจธ เจตเจฟเจเจเจพเจฐ เจชเจฐเจธเจชเจฐ เจชเฉเจฐเจญเจพเจต เจธเจฅเจพเจชเจค เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเจพเจเจเฉเฅค
เจเจฟเจเจเจเจฟ เจเจน เจฆเฉเจตเฉเจ เจญเจพเจ เจเฉฑเจเฉ เจธเจฐเจตเจฐ 'เจคเฉ เจธเจฅเจพเจชเจฟเจค เจเฉเจคเฉ เจเจ เจนเจจ, เจเจ เจเฉฑเจ เจจเฉเฉฑเจเจตเจฐเจ เจธเจพเจเจ เจฆเฉ เจฌเจเจพเจ เจเฉฑเจ UNIX เจธเจพเจเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเฉเจเฅค เจเจฟเจเจเจเจฟ เจธเฉฐเจเจพเจฐ เจฒเจ เจเจฟเจธเฉ เจตเฉ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ เจเฉฑเจ เจธเจพเจเจ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉ, เจเจ เจเฉฑเจ เจนเฉเจฐ เจเจฆเจฎ เจเฉเฉฑเจเจฃ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเฉเจ เจ เจคเฉ เจธเจฟเจธเจเจฎเจก เจฆเฉเจเจฐเจพ เจเฉเจจเฉเจเฉเจฐเจจ เจฒเจ เจธเจพเจเจ เจเจเจเฉเจตเฉเจธเจผเจจ เจจเฉเฉฐ เจเฉเจเจซเจฟเจเจฐ เจเจฐเฉเจเฅค
เจธเจพเจเจ เจเจเจเฉเจตเฉเจเจฟเจก เจธเฉเจตเจพเจตเจพเจ เจฌเจฃเจพเจเจฃ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจพเจซเจผเฉ เจธเจงเจพเจฐเจจ เจนเฉ. เจชเจนเจฟเจฒเจพเจ, เจเฉฑเจ เจฏเฉเจจเจฟเจ เจซเจพเจเจฒ เจฌเจฃเจพเจ เจเจพเจเจฆเฉ เจนเฉ เจเจฟเจธ เจตเจฟเฉฑเจ เจเฉฑเจ ListenStream เจกเจพเจเจฐเฉเจเจเจฟเจต เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเจพ เจนเฉ เจเฉ เจเจธ เจฌเจฟเฉฐเจฆเฉ เจตเฉฑเจฒ เจเจธเจผเจพเจฐเจพ เจเจฐเจฆเจพ เจนเฉ เจเจฟเจธ 'เจคเฉ UNIX เจธเจพเจเจ เจฌเจฃเจพเจเจ เจเจพเจตเฉเจเจพ, เจซเจฟเจฐ เจธเฉเจตเจพ เจฒเจ เจเฉฑเจ เจฏเฉเจจเจฟเจ เจซเจพเจเจฒ เจเจฟเจธ เจตเจฟเฉฑเจ เจฒเฉเฉเฉเจเจฆเจพ เจจเจฟเจฐเจฆเฉเจธเจผ เจธเจพเจเจ เจฏเฉเจจเจฟเจ เจซเจพเจเจฒ เจตเฉฑเจฒ เจเจธเจผเจพเจฐเจพ เจเจฐเฉเจเจพเฅค เจซเจฟเจฐ, เจธเฉเจตเจพ เจฏเฉเจจเจฟเจ เจซเจพเจเจฒ เจตเจฟเฉฑเจ, เจเฉ เจฌเจเจฟเจ เจนเฉ เจเจน เจนเฉ เจตเจฐเจเฉเจ เจฒ เจตเจพเจคเจพเจตเจฐเจฃ เจคเฉเจ เจเฉเจจเฉเจเฉเจฐเจจ เจจเฉเฉฐ เจเจพเจฒ เจเจฐเจจเจพ เจ เจคเฉ UNIX เจธเจพเจเจ เจ เจคเฉ Django เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฒเจ เจเฉฑเจ WSGI เจฌเจพเจเจกเจฟเฉฐเจ เจฌเจฃเจพเจเจฃเจพเฅค
เจเฉฑเจฅเฉ เจฏเฉเจจเจฟเจ เจซเจพเจเจฒเจพเจ เจฆเฉเจเจ เจเฉเจ เจเจฆเจพเจนเจฐเจฃเจพเจ เจนเจจ เจเฉ เจคเฉเจธเฉเจ เจ เจงเจพเจฐ เจตเจเฉเจ เจตเจฐเจค เจธเจเจฆเฉ เจนเฉเฅค เจชเจนเจฟเจฒเจพเจ เจ เจธเฉเจ เจธเจพเจเจ เจธเฉเจ เจ เจช เจเจฐเจฆเฉ เจนเจพเจ.
[Unit]
Description=Gunicorn WSGI socket
[Socket]
ListenStream=/run/gunicorn.sock
[Install]
WantedBy=sockets.target
เจนเฉเจฃ เจคเฉเจนเจพเจจเฉเฉฐ เจเฉเจจเฉเจเฉเจฐเจจ เจกเฉเจฎเจจ เจจเฉเฉฐ เจเฉเจเจซเจฟเจเจฐ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค
[Unit]
Description=Gunicorn daemon
Requires=gunicorn.socket
After=network.target
[Service]
User=cloud-user
Group=cloud-user
WorkingDirectory=/srv/djangoapp
ExecStart=/srv/djangoapp/django/bin/gunicorn
โaccess-logfile -
โworkers 3
โbind unix:gunicorn.sock djangoapp.wsgi
[Install]
WantedBy=multi-user.target
Nginx เจฒเจ, เจชเฉเจฐเฉเจเจธเฉ เจเฉเจเจซเจฟเจเจฐเฉเจธเจผเจจ เจซเจพเจเจฒเจพเจ เจฌเจฃเจพเจเจฃเจพ เจ เจคเฉ เจธเจฅเจฟเจฐ เจธเจฎเฉฑเจเจฐเฉ เจจเฉเฉฐ เจธเจเฉเจฐ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจธเจฅเจพเจชเจค เจเจฐเจจเจพ เจเฉฑเจ เจธเจงเจพเจฐเจจ เจฎเจพเจฎเจฒเจพ เจนเฉ เจเฉเจเจฐ เจคเฉเจธเฉเจ เจเฉฑเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจฐเจนเฉ เจนเฉเฅค RHEL เจตเจฟเฉฑเจ, Nginx เจธเฉฐเจฐเจเจจเจพ เจซเจพเจเจฒเจพเจ /etc/nginx/conf.d เจตเจฟเฉฑเจ เจธเจฅเจฟเจค เจนเจจเฅค เจคเฉเจธเฉเจ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจเจฆเจพเจนเจฐเจฃ เจจเฉเฉฐ /etc/nginx/conf.d/default.conf เจตเจฟเฉฑเจ เจเจพเจชเฉ เจเจฐ เจธเจเจฆเฉ เจนเฉ เจ เจคเฉ เจธเฉเจตเจพ เจธเจผเฉเจฐเฉ เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค เจคเฉเจนเจพเจกเฉ เจนเฉเจธเจ เจจเจพเจฎ เจจเจพเจฒ เจฎเฉเจฒ เจเจฐเจจ เจฒเจ เจธเจฐเจตเจฐ_เจจเจพเจฎ เจธเฉเฉฑเจ เจเจฐเจจเจพ เจฏเจเฉเจจเฉ เจฌเจฃเจพเจเฅค
server {
listen 80;
server_name 8beta1.example.com;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /srv/djangoapp;
}
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://unix:/run/gunicorn.sock;
}
}
เจธเจฟเจธเจเจฎเจก เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเฉเจจเฉเจเฉเจฐเจจ เจธเจพเจเจ เจ เจคเฉ เจเจจเจเฉเจจเฉเจเจธ เจธเจผเฉเจฐเฉ เจเจฐเฉ เจ เจคเฉ เจคเฉเจธเฉเจ เจเจพเจเจ เจธเจผเฉเจฐเฉ เจเจฐเจจ เจฒเจ เจคเจฟเจเจฐ เจนเฉเฅค
เจเจฒเจค เจเฉเจเจตเฉ เจเจฒเจคเฉ?
เจเฉเจเจฐ เจคเฉเจธเฉเจ เจเจชเจฃเฉ เจฌเฉเจฐเจพเจเจเจผเจฐ เจตเจฟเฉฑเจ เจชเจคเจพ เจฆเจฐเจ เจเจฐเจฆเฉ เจนเฉ, เจคเจพเจ เจคเฉเจนเจพเจจเฉเฉฐ เจธเฉฐเจญเจพเจตเจค เจคเฉเจฐ 'เจคเฉ 502 เจเจฐเจพเจฌ เจเฉเจเจตเฉ เจเจฒเจคเฉ เจฎเจฟเจฒเฉเจเฉเฅค เจเจน เจเจฒเจค เจขเฉฐเจ เจจเจพเจฒ เจธเฉฐเจฐเจเจฟเจค UNIX เจธเจพเจเจ เจ เจจเฉเจฎเจคเฉเจเจ เจฆเฉ เจเจพเจฐเจจ เจนเฉ เจธเจเจฆเจพ เจนเฉ, เจเจพเจ เจเจน SELinux เจตเจฟเฉฑเจ เจชเจนเฉเฉฐเจ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจจเจพเจฒ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจตเจงเฉเจฐเฉ เจเฉเฉฐเจเจฒเจฆเจพเจฐ เจธเจฎเฉฑเจธเจฟเจเจตเจพเจ เจฆเฉ เจเจพเจฐเจจ เจนเฉ เจธเจเจฆเจพ เจนเฉเฅค
nginx เจเจฐเจฐ เจฒเฉเจ เจตเจฟเฉฑเจ เจคเฉเจธเฉเจ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเฉ เจเฉฑเจ เจฒเจพเจเจจ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉ:
2018/12/18 15:38:03 [crit] 12734#0: *3 connect() to unix:/run/gunicorn.sock failed (13: Permission denied) while connecting to upstream, client: 192.168.122.1, server: 8beta1.example.com, request: "GET / HTTP/1.1", upstream: "http://unix:/run/gunicorn.sock:/", host: "8beta1.example.com"
เจเฉเจเจฐ เจ เจธเฉเจ เจธเจฟเฉฑเจงเฉ เจคเฉเจฐ 'เจคเฉ เจเฉเจจเฉเจเฉเจฐเจจ เจฆเฉ เจเจพเจเจ เจเจฐเจฆเฉ เจนเจพเจ, เจคเจพเจ เจธเจพเจจเฉเฉฐ เจเฉฑเจ เจเจพเจฒเฉ เจเจตเจพเจฌ เจฎเจฟเจฒเฉเจเจพเฅค
curl โunix-socket /run/gunicorn.sock 8beta1.example.com
เจเจ เจเจน เจชเจคเจพ เจเจฐเฉเจ เจเจฟ เจ เจเจฟเจนเจพ เจเจฟเจเจ เจนเฉเฉฐเจฆเจพ เจนเฉเฅค เจเฉเจเจฐ เจคเฉเจธเฉเจ เจฒเฉเจ เจเฉเจฒเฉเจนเจฆเฉ เจนเฉ, เจคเจพเจ เจคเฉเจธเฉเจ เจธเฉฐเจญเจพเจตเจค เจคเฉเจฐ 'เจคเฉ เจฆเฉเจเฉเจเฉ เจเจฟ เจธเจฎเฉฑเจธเจฟเจ SELinux เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเฉเฅค เจเจฟเจเจเจเจฟ เจ เจธเฉเจ เจเฉฑเจ เจกเฉเจฎเจจ เจเจฒเจพ เจฐเจนเฉ เจนเจพเจ เจเจฟเจธ เจฒเจ เจเฉเจ เจจเฉเจคเฉ เจจเจนเฉเจ เจฌเจฃเจพเจ เจเจ เจนเฉ, เจเจธ เจจเฉเฉฐ init_t เจตเจเฉเจ เจเจฟเฉฐเจจเฉเจนเจฟเจค เจเฉเจคเจพ เจเจฟเจ เจนเฉเฅค เจเจ เจเจธ เจธเจฟเจงเจพเจเจค เจจเฉเฉฐ เจ เจญเจฟเจเจธ เจตเจฟเฉฑเจ เจชเจฐเจเฉเจเฅค
sudo setenforce 0
เจเจน เจธเจญ เจเจฒเฉเจเจจเจพ เจ เจคเฉ เจเฉเจจ เจฆเฉ เจนเฉฐเจเฉเจเจ เจฆเจพ เจเจพเจฐเจจ เจฌเจฃ เจธเจเจฆเจพ เจนเฉ, เจชเจฐ เจเจน เจธเจฟเจฐเจซ เจชเฉเจฐเฉเจเฉเจเจพเจเจช เจจเฉเฉฐ เจกเฉเจฌเฉฑเจ เจเจฐ เจฐเจฟเจนเจพ เจนเฉ. เจเจ เจเจน เจฏเจเฉเจจเฉ เจฌเจฃเจพเจเจฃ เจฒเจ เจเจพเจเจ เจจเฉเฉฐ เจ เจธเจฎเจฐเฉฑเจฅ เจเจฐเฉเจ เจเจฟ เจเจน เจธเจฎเฉฑเจธเจฟเจ เจนเฉ, เจเจฟเจธ เจคเฉเจ เจฌเจพเจ เจฆ เจ เจธเฉเจ เจนเจฐ เจเฉเจเจผ เจจเฉเฉฐ เจเจธเจฆเฉ เจธเจฅเจพเจจ 'เจคเฉ เจตเจพเจชเจธ เจเจฐ เจฆเฉเจตเจพเจเจเฉเฅค
เจฌเฉเจฐเจพเจเจเจผเจฐ เจตเจฟเฉฑเจ เจชเฉฐเจจเฉ เจจเฉเฉฐ เจคเจพเจเจผเจพ เจเจฐเจเฉ เจเจพเจ เจธเจพเจกเฉ curl เจเจฎเจพเจเจก เจจเฉเฉฐ เจฎเฉเฉ-เจเจพเจฒเฉ เจเจฐเจเฉ, เจคเฉเจธเฉเจ Django เจเฉเจธเจ เจชเฉฐเจจเจพ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉเฅค
เจเจธ เจฒเจ, เจเจน เจฏเจเฉเจจเฉ เจฌเจฃเจพเจเจฃ เจคเฉเจ เจฌเจพเจ เจฆ เจเจฟ เจธเจญ เจเฉเจ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ เจ เจคเฉ เจเฉเจ เจนเฉเจฐ เจ เจจเฉเจฎเจคเฉ เจธเจฎเฉฑเจธเจฟเจเจตเจพเจ เจจเจนเฉเจ เจนเจจ, เจ เจธเฉเจ SELinux เจจเฉเฉฐ เจฆเฉเจฌเจพเจฐเจพ เจเจพเจฒเฉ เจเจฐเจฆเฉ เจนเจพเจเฅค
sudo setenforce 1
เจฎเฉเจ เจเฉฑเจฅเฉ sepolgen เจจเจพเจฒ audit2allow เจเจพเจ เจเฉเจคเจพเจตเจจเฉ-เจ เจงเจพเจฐเจฟเจค เจจเฉเจคเฉเจเจ เจฌเจฃเจพเจเจฃ เจฌเจพเจฐเฉ เจเฉฑเจฒ เจจเจนเฉเจ เจเจฐเจพเจเจเจพ, เจเจฟเจเจเจเจฟ เจเจธ เจธเจฎเฉเจ เจเฉเจ เจ เจธเจฒ Django เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเจนเฉเจ เจนเฉ, เจเจธ เจฒเจ เจเฉฑเจฅเฉ เจเฉเจ เจชเฉเจฐเจพ เจจเจเจธเจผเจพ เจจเจนเฉเจ เจนเฉ เจเจฟ เจเฉเจจเฉเจเฉเจฐเจจ เจเจฟเจธ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเจพ เจนเฉ เจ เจคเฉ เจเจธเจจเฉเฉฐ เจเจฟเจธ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจคเฉเจ เจเจจเจเจพเจฐ เจเจฐเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค เจเจธ เจฒเจ, เจธเจฟเจธเจเจฎ เจจเฉเฉฐ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจฐเฉฑเจเจฃ เจฒเจ SELinux เจจเฉเฉฐ เจเฉฑเจฒเจฆเจพ เจฐเฉฑเจเจฃเจพ เจเจผเจฐเฉเจฐเฉ เจนเฉ, เจเจฆเฉเจ เจเจฟ เจเจธเฉ เจธเจฎเฉเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจ เจคเฉ เจเจกเจฟเจ เจฒเฉเจ เจตเจฟเฉฑเจ เจธเฉเจจเฉเจนเฉ เจเฉฑเจกเจฃ เจฆเฉ เจเจเจพเจเจผเจค เจฆเจฟเฉฑเจคเฉ เจเจพเจเจฆเฉ เจนเฉ เจคเจพเจ เจเฉ เจ เจธเจฒ เจจเฉเจคเฉ เจเจนเจจเจพเจ เจคเฉเจ เจฌเจฃเจพเจ เจเจพ เจธเจเฉเฅค
เจเจเจพเจเจผเจค เจฆเฉเจฃ เจตเจพเจฒเฉ เจกเฉเจฎเฉเจจเจพเจ เจจเฉเฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจเจพ
เจนเจฐ เจเจฟเจธเฉ เจจเฉ SELinux เจตเจฟเฉฑเจ เจฎเจจเจเจผเฉเจฐ เจกเฉเจฎเฉเจจเจพเจ เจฌเจพเจฐเฉ เจจเจนเฉเจ เจธเฉเจฃเจฟเจ เจนเฉ, เจชเจฐ เจเจน เจเฉเจ เจตเฉ เจจเจตเจพเจ เจจเจนเฉเจ เจนเฉเฅค เจเจเจเจ เจจเฉ เจคเจพเจ เจฌเจฟเจจเจพเจ เจธเจฎเจเฉ เจนเฉ เจเจจเฉเจนเจพเจ เจจเจพเจฒ เจเฉฐเจฎ เจเฉเจคเจพเฅค เจเจฆเฉเจ เจเฉเจ เจจเฉเจคเฉ เจเจกเจฟเจ เจธเฉเจจเฉเจนเจฟเจเจ เจฆเฉ เจเจงเจพเจฐ 'เจคเฉ เจฌเจฃเจพเจ เจเจพเจเจฆเฉ เจนเฉ, เจคเจพเจ เจฌเจฃเจพเจ เจเจ เจจเฉเจคเฉ เจนเฉฑเจฒ เจเฉเจคเฉ เจกเฉเจฎเฉเจจ เจจเฉเฉฐ เจฆเจฐเจธเจพเจเจเจฆเฉ เจนเฉเฅค เจเจ เจเฉฑเจ เจธเจงเจพเจฐเจจ เจเจเจพเจเจผเจค เจจเฉเจคเฉ เจฌเจฃเจพเจเจฃ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเฉเจเฅค
Gunicorn เจฒเจ เจเฉฑเจ เจเจพเจธ เจฎเจจเจเจผเฉเจฐ เจกเฉเจฎเฉเจจ เจฌเจฃเจพเจเจฃ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจเจฟเจธเฉ เจเจฟเจธเจฎ เจฆเฉ เจจเฉเจคเฉ เจฆเฉ เจฒเฉเฉ เจนเฉ, เจ เจคเฉ เจคเฉเจนเจพเจจเฉเฉฐ เจเจเจฟเจค เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจฎเจพเจฐเจ เจเจฐเจจ เจฆเฉ เจตเฉ เจฒเฉเฉ เจนเฉเฅค เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจจเจตเฉเจเจ เจจเฉเจคเฉเจเจ เจจเฉเฉฐ เจเจเฉฑเจ เจพ เจเจฐเจจ เจฒเจ เจธเจพเจงเจจเจพเจ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค
sudo yum install selinux-policy-devel
เจฎเจจเจเจผเฉเจฐเจธเจผเฉเจฆเจพ เจกเฉเจฎเฉเจจ เจตเจฟเจงเฉ เจธเจฎเฉฑเจธเจฟเจเจตเจพเจ เจฆเฉ เจชเจเจพเจฃ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจตเจงเฉเจ เจธเจพเจงเจจ เจนเฉ, เจเจพเจธ เจคเฉเจฐ 'เจคเฉ เจเจฆเฉเจ เจเจน เจเจฟเจธเฉ เจเจธเจเจฎ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเจพเจ เจเจชเจฒเฉเจเฉเจธเจผเจจเจพเจ เจฆเฉ เจเฉฑเจฒ เจเจเจเจฆเฉ เจนเฉ เจเฉ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจฌเจฃเจพเจเจเจ เจเจเจเจ เจจเฉเจคเฉเจเจ เจคเฉเจ เจฌเจฟเจจเจพเจ เจญเฉเจเจฆเฉ เจนเจจเฅค เจเจธ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ, Gunicorn เจฒเจ เจฎเจจเจเจผเฉเจฐ เจกเฉเจฎเฉเจจ เจจเฉเจคเฉ เจเจฟเฉฐเจจเฉ เจธเฉฐเจญเจต เจนเฉ เจธเจเฉ เจธเจงเจพเจฐเจจ เจนเฉเจตเฉเจเฉ - เจเฉฑเจ เจฎเฉเฉฑเจ เจเจฟเจธเจฎ (gunicorn_t) เจเฉเจธเจผเจฟเจค เจเจฐเฉ, เจเฉฑเจ เจเจฟเจธเจฎ เจฆเฉ เจเฉเจธเจผเจฃเจพ เจเจฐเฉ เจเจฟเจธเจฆเฉ เจตเจฐเจคเฉเจ เจ เจธเฉเจ เจฎเจฒเจเฉเจชเจฒ เจเจเจเจผเฉเจเจฟเจเจเฉเจฌเจฒเจพเจ (gunicorn_exec_t) เจจเฉเฉฐ เจฎเจพเจฐเจ เจเจฐเจจ เจฒเจ เจเจฐเจพเจเจเฉ, เจ เจคเฉ เจซเจฟเจฐ เจธเจฟเจธเจเจฎ เจจเฉเฉฐ เจธเจนเฉ เจขเฉฐเจ เจจเจพเจฒ เจฎเจพเจฐเจ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจคเจฌเจฆเฉเจฒเฉ เจธเฉเจ เจ เจช เจเจฐเฉเฅค เจเฉฑเจฒ เจฐเจนเฉเจเจ เจชเฉเจฐเจเจฟเจฐเจฟเจเจตเจพเจ เจเจเจฐเฉ เจฒเจพเจเจจ เจจเฉเจคเฉ เจจเฉเฉฐ เจฒเฉเจก เจนเฉเจฃ 'เจคเฉ เจกเจฟเจซเฉเจฒเจ เจคเฉเจฐ 'เจคเฉ เจธเจฎเจฐเจฅเจฟเจค เจคเฉเจฐ 'เจคเฉ เจธเฉเฉฑเจ เจเจฐเจฆเฉ เจนเฉเฅค
gunicorn.te:
policy_module(gunicorn, 1.0)
type gunicorn_t;
type gunicorn_exec_t;
init_daemon_domain(gunicorn_t, gunicorn_exec_t)
permissive gunicorn_t;
เจคเฉเจธเฉเจ เจเจธ เจชเจพเจฒเจฟเจธเฉ เจซเจพเจเจฒ เจจเฉเฉฐ เจเฉฐเจชเจพเจเจฒ เจเจฐ เจธเจเจฆเฉ เจนเฉ เจ เจคเฉ เจเจธเจจเฉเฉฐ เจเจชเจฃเฉ เจธเจฟเจธเจเจฎ เจตเจฟเฉฑเจ เจเฉเฉ เจธเจเจฆเฉ เจนเฉเฅค
make -f /usr/share/selinux/devel/Makefile
sudo semodule -i gunicorn.pp
sudo semanage permissive -a gunicorn_t
sudo semodule -l | grep permissive
เจเจ เจเจน เจฆเฉเจเจฃ เจฒเจ เจเจพเจเจ เจเจฐเฉเจ เจเจฟ เจเฉ SELinux เจธเจพเจกเฉ เจ เจฃเจเจพเจฃ เจกเฉเจฎเจจ เจจเฉเฉฐ เจเจเจธเฉเจธ เจเจฐ เจฐเจฟเจนเจพ เจนเฉ, เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ เจเฉเจ เจนเฉเจฐ เจฌเจฒเฉเจ เจเจฐ เจฐเจฟเจนเจพ เจนเฉเฅค
sudo ausearch -m AVC
type=AVC msg=audit(1545315977.237:1273): avc: denied { write } for pid=19400 comm="nginx" name="gunicorn.sock" dev="tmpfs" ino=52977 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:var_run_t:s0 tclass=sock_file permissive=0
SELinux Nginx เจจเฉเฉฐ Gunicorn เจฆเฉเจเจฐเจพ เจตเจฐเจคเฉ เจเจ UNIX เจธเจพเจเจ เจตเจฟเฉฑเจ เจกเฉเจเจพ เจฒเจฟเจเจฃ เจคเฉเจ เจฐเฉเจเจฆเจพ เจนเฉเฅค เจเจฎ เจคเฉเจฐ 'เจคเฉ, เจ เจเจฟเจนเฉ เจฎเจพเจฎเจฒเจฟเจเจ เจตเจฟเฉฑเจ, เจจเฉเจคเฉเจเจ เจฌเจฆเจฒเจฃเฉเจเจ เจธเจผเฉเจฐเฉ เจนเฉเฉฐเจฆเฉเจเจ เจนเจจ, เจชเจฐ เจ เฉฑเจเฉ เจนเฉเจฐ เจเฉเจฃเฉเจคเฉเจเจ เจนเฉเฉฐเจฆเฉเจเจ เจนเจจ. เจคเฉเจธเฉเจ เจกเฉเจฎเฉเจจ เจธเฉเจเจฟเฉฐเจเจพเจ เจจเฉเฉฐ เจเฉฑเจ เจชเจพเจฌเฉฐเจฆเฉ เจกเฉเจฎเฉเจจ เจคเฉเจ เจเฉฑเจ เจ เจจเฉเจฎเจคเฉ เจกเฉเจฎเฉเจจ เจตเจฟเฉฑเจ เจตเฉ เจฌเจฆเจฒ เจธเจเจฆเฉ เจนเฉเฅค เจเจ เจนเฉเจฃ httpd_t เจจเฉเฉฐ เจชเจฐเจฎเจฟเจธเจผเจจ เจกเฉเจฎเฉเจจ เจตเจฟเฉฑเจ เจญเฉเจเฉเจเฅค เจเจน Nginx เจจเฉเฉฐ เจฒเฉเฉเฉเจเจฆเฉ เจชเจนเฉเฉฐเจ เจชเฉเจฐเจฆเจพเจจ เจเจฐเฉเจเจพ เจ เจคเฉ เจ เจธเฉเจ เจนเฉเจฐ เจกเฉเจฌเฉฑเจเจฟเฉฐเจ เจเฉฐเจฎ เจจเฉเฉฐ เจเจพเจฐเฉ เจฐเฉฑเจ เจธเจเจฆเฉ เจนเจพเจเฅค
sudo semanage permissive -a httpd_t
เจเจธ เจฒเจ, เจเฉฑเจ เจตเจพเจฐ เจเจฆเฉเจ เจคเฉเจธเฉเจ SELinux เจจเฉเฉฐ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจฐเฉฑเจเจฃ เจตเจฟเฉฑเจ เจเจพเจฎเจฏเจพเจฌ เจนเฉ เจเจพเจเจฆเฉ เจนเฉ (เจคเฉเจนเจพเจจเฉเฉฐ เจธเฉฑเจเจฎเฉเฉฑเจ เจเฉฑเจ SELinux เจชเฉเจฐเฉเจเฉเจเจ เจจเฉเฉฐ เจชเฉเจฐเจคเจฟเจฌเฉฐเจงเจฟเจค เจฎเฉเจก เจตเจฟเฉฑเจ เจจเจนเฉเจ เจเฉฑเจกเจฃเจพ เจเจพเจนเฉเจฆเจพ) เจ เจคเฉ เจ เจจเฉเจฎเจคเฉ เจกเฉเจฎเฉเจจ เจฒเฉเจก เจนเฉ เจเจพเจเจฆเฉ เจนเจจ, เจคเจพเจ เจคเฉเจนเจพเจจเฉเฉฐ เจเจน เจชเจคเจพ เจฒเจเจพเจเจฃ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉเฉฐเจฆเฉ เจนเฉ เจเจฟ เจธเจญ เจเฉเจ เจธเจนเฉ เจขเฉฐเจ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจ เจฒเจ เจ เจธเจฒ เจตเจฟเฉฑเจ gunicorn_exec_t เจตเจเฉเจ เจเฉ เจเจฟเฉฐเจจเฉเจนเจฟเจค เจเฉเจคเจพ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค เจฆเฉเจฌเจพเจฐเจพ เจเจ เจชเจนเฉเฉฐเจ เจชเจพเจฌเฉฐเจฆเฉเจเจ เจฌเจพเจฐเฉ เจจเจตเฉเจ เจธเฉเจจเฉเจนเฉ เจฆเฉเจเจฃ เจฒเจ เจตเฉเฉฑเจฌเจธเจพเจเจ 'เจคเฉ เจเจพเจฃ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเฉเจเฅค
sudo ausearch -m AVC -c gunicorn
เจคเฉเจธเฉเจ 'comm="gunicorn"' เจตเจพเจฒเฉ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจธเฉฐเจฆเฉเจธเจผ เจฆเฉเจเฉเจเฉ เจเฉ /srv/djangoapp เจตเจฟเฉฑเจ เจซเจพเจเจฒเจพเจ 'เจคเฉ เจตเฉฑเจ-เจตเฉฑเจ เจเฉเจเจผเจพเจ เจเจฐเจฆเฉ เจนเจจ, เจเจธ เจฒเจ เจเจน เจธเจชเฉฑเจธเจผเจ เจคเฉเจฐ 'เจคเฉ เจซเจฒเฉเจ เจเจฐเจจ เจฆเฉ เจฏเฉเจ เจเจฎเจพเจเจกเจพเจ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ เจนเฉเฅค
เจชเจฐ เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจพ เจเฉฑเจ เจธเฉเจจเฉเจนเจพ เจฆเจฟเจเจพเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉ:
type=AVC msg=audit(1545320700.070:1542): avc: denied { execute } for pid=20704 comm="(gunicorn)" name="python3.6" dev="vda3" ino=8515706 scontext=system_u:system_r:init_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=file permissive=0
เจเฉ เจคเฉเจธเฉเจ เจเจจเฉเจเฉเจฐเจจ เจธเฉเจตเจพ เจฆเฉ เจธเจฅเจฟเจคเฉ เจจเฉเฉฐ เจฆเฉเจเจฆเฉ เจนเฉ เจเจพเจ ps เจเจฎเจพเจเจก เจจเฉเฉฐ เจเจฒเจพเจเจเจฆเฉ เจนเฉ, เจคเจพเจ เจคเฉเจธเฉเจ เจเฉเจ เจเฉฑเจฒ เจฐเจนเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจจเจนเฉเจ เจฆเฉเจ เจธเจเฉเจเฉเฅค เจ เจเจฟเจนเจพ เจฒเจเจฆเจพ เจนเฉ เจเจฟ เจเจจเฉเจเฉเจฐเจจ เจธเจพเจกเฉ เจตเจฐเจเฉเจ เจฒเฉเจจเจต เจตเจพเจคเจพเจตเจฐเจฃ เจตเจฟเฉฑเจ เจชเจพเจเจฅเจจ เจฆเฉเจญเจพเจธเจผเฉเจ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐ เจฐเจฟเจนเจพ เจนเฉ, เจธเฉฐเจญเจต เจคเฉเจฐ 'เจคเฉ เจตเจฐเจเจฐ เจธเจเฉเจฐเจฟเจชเจเจพเจ เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจฒเจเฅค เจเจธ เจฒเจ เจนเฉเจฃ เจเจนเจจเจพเจ เจฆเฉ เจเจเจเจผเฉเจเจฟเจเจเฉเจฌเจฒ เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจฎเจพเจฐเจ เจเจฐเฉเจ เจ เจคเฉ เจเจพเจเจ เจเจฐเฉเจ เจเจฟ เจเฉ เจ เจธเฉเจ เจเจชเจฃเจพ Django เจเฉเจธเจ เจชเฉเจ เจเฉเจฒเฉเจน เจธเจเจฆเฉ เจนเจพเจเฅค
chcon -t gunicorn_exec_t /srv/djangoapp/django/bin/gunicorn /srv/djangoapp/django/bin/python3.6
เจจเจตเฉเจ เจเฉเจ เจจเฉเฉฐ เจเฉเจฃเจจ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ เจเจจเฉเจเฉเจฐเจจ เจธเฉเจตเจพ เจจเฉเฉฐ เจฎเฉเฉ เจเจพเจฒเฉ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเจตเฉเจเฉเฅค เจคเฉเจธเฉเจ เจเจธเจจเฉเฉฐ เจคเฉเจฐเฉฐเจค เจฐเฉเจธเจเจพเจฐเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ เจเจพเจ เจธเฉเจตเจพ เจจเฉเฉฐ เจฌเฉฐเจฆ เจเจฐ เจธเจเจฆเฉ เจนเฉ เจ เจคเฉ เจเจฆเฉเจ เจคเฉเจธเฉเจ เจฌเฉเจฐเจพเจเจเจผเจฐ เจตเจฟเฉฑเจ เจธเจพเจเจ เจจเฉเฉฐ เจเฉเจฒเฉเจนเจฆเฉ เจนเฉ เจคเจพเจ เจธเจพเจเจ เจจเฉเฉฐ เจเจธเจจเฉเฉฐ เจเจพเจฒเฉ เจเจฐเจจ เจฆเจฟเจเฅค เจเจพเจเจ เจเจฐเฉ เจเจฟ เจชเฉเจฐเจเจฟเจฐเจฟเจเจตเจพเจ เจจเฉ ps เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจธเจนเฉ เจฒเฉเจฌเจฒ เจชเฉเจฐเจพเจชเจค เจเฉเจคเฉ เจนเจจเฅค
ps -efZ | grep gunicorn
เจฌเจพเจ เจฆ เจตเจฟเฉฑเจ เจเฉฑเจ เจเจฎ SELinux เจจเฉเจคเฉ เจฌเจฃเจพเจเจฃเจพ เจจเจพ เจญเฉเฉฑเจฒเฉ!
เจเฉเจเจฐ เจคเฉเจธเฉเจ เจนเฉเจฃเฉ AVC เจธเฉเจจเฉเจนเจฟเจเจ เจจเฉเฉฐ เจฆเฉเจเจฆเฉ เจนเฉ, เจคเจพเจ เจเจเจฐเฉ เจธเฉฐเจฆเฉเจธเจผ เจตเจฟเฉฑเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเจฐ เจเฉเจเจผ เจฒเจ permissive=1 เจ เจคเฉ เจฌเจพเจเฉ เจธเจฟเจธเจเจฎ เจฒเจ permissive=0 เจธเจผเจพเจฎเจฒ เจนเฉเฅค เจเฉ เจคเฉเจธเฉเจ เจธเจฎเจเจฆเฉ เจนเฉ เจเจฟ เจ เจธเจฒ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจเจฟเจธ เจเจฟเจธเจฎ เจฆเฉ เจชเจนเฉเฉฐเจ เจฆเฉ เจฒเฉเฉ เจนเฉ, เจคเจพเจ เจคเฉเจธเฉเจ เจ เจเจฟเจนเฉเจเจ เจธเจฎเฉฑเจธเจฟเจเจตเจพเจ เจจเฉเฉฐ เจนเฉฑเจฒ เจเจฐเจจ เจฆเจพ เจธเจญ เจคเฉเจ เจตเจงเฉเจ เจคเจฐเฉเจเจพ เจเจฒเจฆเฉ เจฒเฉฑเจญ เจธเจเจฆเฉ เจนเฉเฅค เจชเจฐ เจเจฆเฉเจ เจคเฉฑเจ, เจธเจฟเจธเจเจฎ เจจเฉเฉฐ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจฐเฉฑเจเจฃเจพ เจ เจคเฉ Django เจชเฉเจฐเฉเจเฉเจเจ เจฆเจพ เจธเจชเจธเจผเจ, เจเจชเจฏเฉเจเฉ เจเจกเจฟเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจจเจพ เจธเจญ เจคเฉเจ เจตเจงเฉเจ เจนเฉเฅค
sudo ausearch -m AVC
เจนเฉเจเจ!
Nginx เจ
เจคเฉ Gunicorn WSGI 'เจคเฉ เจเจงเจพเจฐเจฟเจค เจเฉฑเจ เจซเจฐเฉฐเจเจเจเจก เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจเฉฐเจฎ เจเจฐเจจ เจตเจพเจฒเจพ Django เจชเฉเจฐเฉเจเฉเจเจ เจชเฉเจฐเจเจ เจนเฉเจเจ เจนเฉเฅค เจ
เจธเฉเจ RHEL 3 เจฌเฉเจเจพ เจฐเจฟเจชเฉเจเจผเจเจฐเฉเจเจ เจคเฉเจ Python 10 เจ
เจคเฉ PostgreSQL 8 เจจเฉเฉฐ เจเฉเจเจซเจฟเจเจฐ เจเฉเจคเจพ เจนเฉเฅค เจนเฉเจฃ เจคเฉเจธเฉเจ เจธเฉฐเจฐเจเจจเจพ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจจเฉเฉฐ เจธเจตเฉเจเจฒเจฟเจค เจเจฐเจจ, เจเจพเจฐเจเฉเจเจผเจพเจฐเฉ เจตเจฟเฉฑเจ เจธเฉเจงเจพเจฐ เจเจฐเจจ, เจเจพเจ เจเจธ เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจเฉฐเจเฉเจจเจฐเจพเจเจเจผ เจเจฐเจจ เจฒเจ RHEL 8 เจฌเฉเจเจพ เจตเจฟเฉฑเจ เจนเฉเจฐ เจเจชเจฒเจฌเจง เจธเจพเจงเจจเจพเจ เจฆเฉ เจชเฉเจเฉเจฒ เจเจฐ เจธเจเจฆเฉ เจนเฉ เจ
เจคเฉ Django เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฌเจฃเจพ เจธเจเจฆเฉ เจนเฉ เจ
เจคเฉ เจฌเจฃเจพ เจธเจเจฆเฉ เจนเฉเฅค
เจธเจฐเฉเจค: www.habr.com