ECS Django Deployment-阿里云开发者社区

开发者社区> 开发与运维> 正文

ECS Django Deployment

简介: python3环境安装,mysql环境安装,django环境安装,nginx环境安装,各种环境安装

# Python3 installation
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
tar -xzvf Python-3.6.8.tgz
cd Python-3.6.8
mkdir /usr/local/python3
./configure --prefix=/usr/local/python3
make
make install
mv /usr/bin/python /usr/bin/python_old2
ln -s /usr/local/python3/bin/python3 /usr/bin/python

# MySQL installation
wget http://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm
yum localinstall mysql80-community-release-el7-1.noarch.rpm
yum repolist enabled | grep "mysql.*-community.*"
yum -y install mysql-community-server mysql-community-devel
## startup
systemctl enable mysqld
systemctl daemon-reload
service mysqld start
## password
grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p
set password = 'xxx';

# Trouble shooting
### zipimport.ZipImportError: can’t decompress data,
yum -y install zlib*
vim Module/Setup 
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz <- remove '#
make && make install
### yum error
vim /usr/bin/yum
vim /usr/libexec/urlgrabber-ext-down
#!/usr/bin/python  -> #!/usr/bin/python2.7 
## Project X Y & Z
X:8081 /var/www/html/X
Y:8082 /var/www/html/Y
Z:8083 /var/www/html/Z

# Django services
vim /usr/lib/systemd/system/X.service:
[Unit] 
Description=gitlabcontroller
[Service] 
PrivateTmp=true
Restart=always 
Type=simple 
### Path and Port
ExecStart=/usr/bin/python /var/www/html/#X#Y#Z#/manage.py runserver 0.0.0.0:#8081#8082#8083
ExecStop=/usr/bin/kill -15 $MAINPID 
[Install] 
WantedBy=multi-user.target

# Nginx installation
### Preparation
cd /etc/yum.repos.d/
vim nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
### Installation:
yum install -y nginx
### Version:
nginx -v
### Grammer check
nginx -t

# Nginx Configuration
Assume address is helloworld.com
vim /etc/nginx/nginx.conf

user  nginx;
worker_processes  4;  ### check number of CPU core
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
events {
    worker_connections  1024; ### max connnection
}
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    keepalive_timeout  65;
    upstream X{
        server 127.0.0.1:8081;
    }
    upstream Y{
        server 127.0.0.1:8082;
    }
    upstream Z{
        server 127.0.0.1:8083;
    }
    ### Reverse Proxy to X.helloworld.com
    server {
        listen       443;
        ssl on;
        ssl_certificate /etc/pki/tls/CERTIFICATE.crt;
        ssl_certificate_key /etc/pki/PRIVATEKEY.key;
        server_name  X.helloworld.com;
        charset     utf-8;
        client_max_body_size 75M;
        location / {
            proxy_pass http://X;
            index  index.html index.htm;  
        }
    }
    ### Reverse Proxy to Y.helloworld.com
    server {
        listen       443;
        ssl on;
        ssl_certificate /etc/pki/tls/CERTIFICATE.crt;
        ssl_certificate_key /etc/pki/PRIVATEKEY.key;
        server_name  Y.helloworld.com;
        charset     utf-8;
        client_max_body_size 75M;
        location / {
            proxy_pass http://X;
            index  index.html index.htm;  
        }
    }
    ### Reverse Proxy to Z.helloworld.com
    server {
        listen       443;
        ssl on;
        ssl_certificate /etc/pki/tls/CERTIFICATE.crt;
        ssl_certificate_key /etc/pki/PRIVATEKEY.key;
        server_name  Z.helloworld.com;
        charset     utf-8;
        client_max_body_size 75M; 
        location / {
            proxy_pass http://Z;
            index  index.html index.htm;  
        }
    }   
    include /etc/nginx/conf.d/*.conf;
}

# Command when operation
systemctl status nginx
systemctl enable nginx
systemctl start nginx
systemctl stop nginx
systemctl restart nginx


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章