美文网首页我爱编程
Make your own website accessible

Make your own website accessible

作者: strivexj | 来源:发表于2018-04-14 20:00 被阅读0次

    1.Buy your own domain

    If you own a DOMAIN, you can access your website using URLwhich is easy to remember instead of a redundant IP. Optionally, You can go to GoDaddy to buy a domain.

    2.Connect to your server

    • You can use ssh command ssh root@your-server-ip or console provided by your server manufacturer.
    • If you are using Windows you should install putty to use ssh, or use the terminal in Linux.

    3.Install Lnmp

    • After connecting to your server, type the following command into terminal to download&install Lnmp.
      wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp
      Then it may take about twenty minutes which depends on your server's network and performance, and you can take a break waiting for it to finish.

    4. Enable https protocol

    • Add a new host
      lnmp vhost add
    • Redirect http to https
      vim /usr/local/nginx/conf/vhost/your-site.conf
      Add the following lines to the file above.
    server{
         --snip--
         if ($server_port = 80 ) {
            return 301 https://$host$request_uri;
         }
     }
    
    • Restart nginx
      /etc/init.d/nginx restart

    Deploy Django project

    First you should upload your project to your server. And then follow the steps below.

    • Install anaconda
      wget https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh
    • Install dependencies
    pip install django
    pip install pymysql//If your project use mysql
    pip install msgpack
    pip install django-bootstrap3 //If your project use bootstrap
    pip install uwsgi(If install failed use "conda install -c conda-forge uwsgi")
    
    • Configure uwsgi and nginx
      A set of answers from ZhiHu.
      • make a uwsgi.ini file
    [uwsgi] 
    # Django-related settings
    socket = :8081
    # the base directory (full path)
    chdir           = /home/wwwroot/www.strivexj.com/learning_log
    module          = learning_log.wsgi
    master          = true
    processes       = 4
    # ... with appropriate permissions - may be needed # chmod-socket    = 664 # clear environment on exit
    vacuum          = true
    
    • Edit nginx conf.
    
    server
        {
            listen 80;
            #listen [::]:80;
            server_name www.strivexj.com ;
            charset utf-8;
            index index.html index.htm index.php default.html default.htm default.php;
            root  /home/wwwroot/www.strivexj.com;
    
            include rewrite/none.conf;
            #error_page   404   /404.html;
    
            # Deny access to PHP files in specific directory
            #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
    
            include enable-php.conf;
    
            location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
            {
                expires      30d;
            }
    
            location ~ .*\.(js|css)?$
            {
                expires      12h;
            }
    
            location ~ /.well-known {
                allow all;
            }
    
            location ~ /\.
            {
                deny all;
            }
    
            access_log  /home/wwwlogs/www.strivexj.com.log;
            location /timetable{
            alias /home/wwwroot/www.strivexj.com/timetable;
        }
        
       
        location /myfiles{
                    alias /home/wwwroot/www.strivexj.com/myfiles;
            }
    
        location / {
        include uwsgi_params; 
        uwsgi_pass 127.0.0.1:8081; 
            uwsgi_read_timeout 2;
        }
    
     }
    
    server
        {
            listen 443 ssl http2;
            #listen [::]:443 ssl http2;
            server_name www.strivexj.com ;
            index index.html index.htm index.php default.html default.htm default.php;
            root  /home/wwwroot/www.strivexj.com;
            ssl on;
            ssl_certificate /usr/local/nginx/conf/ssl/www.strivexj.com/fullchain.cer;
            ssl_certificate_key /usr/local/nginx/conf/ssl/www.strivexj.com/www.strivexj.com.key;
            ssl_session_timeout 5m;
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
            ssl_prefer_server_ciphers on;
            ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
            ssl_session_cache builtin:1000 shared:SSL:10m;
            # openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
            ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;
    
            include rewrite/none.conf;
            #error_page   404   /404.html;
    
            # Deny access to PHP files in specific directory
            #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
    
            include enable-php.conf;
    
            location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
            {
                expires      30d;
            }
    
            location ~ .*\.(js|css)?$
            {
                expires      12h;
            }
    
            location ~ /.well-known {
                allow all;
            }
    
            location ~ /\.
            {
                deny all;
            }
    
            access_log  /home/wwwlogs/www.strivexj.com.log;
    
    location /timetable{
                    alias /home/wwwroot/www.strivexj.com/timetable;
            }
    
    
            location /myfiles{
                    alias /home/wwwroot/www.strivexj.com/myfiles;
            }
    
       location / {
            include uwsgi_params;
            uwsgi_pass 127.0.0.1:8081;
            uwsgi_read_timeout 2;
        }
        }
    
    
    • Run the project
      uwsgi --ini uwsgi.ini

    Deploy Tomcat project

    • Download and extract tomcat
      wget "http://www.strategylions.com.au/mirror/tomcat/tomcat-9/v9.0.10/bin/apache-tomcat-9.0.10.tar.gz"
    • Download JDK
    • Put you project into your_tomcat_path/webapps, for example /root/apache-tomcat-9.0.10/webapps
    • Run
      ./your_tomcat_path/bin/startup.sh
    • If you want to access without your project name, add the following code into your_tomcat_path/conf/server.xml
    <Host name="localhost"  appBase="webapps"
                unpackWARs="true" autoDeploy="true">
    --snip--
    <Context path="" docBase="your_project_name" reloadable="true" />
    --snip--
    </Host>
    

    相关文章

      网友评论

        本文标题:Make your own website accessible

        本文链接:https://www.haomeiwen.com/subject/tgxrkftx.html