Make your own website accessible using Lnmp to deploy your server

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>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,820评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,648评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,324评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,714评论 1 297
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,724评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,328评论 1 310
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,897评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,804评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,345评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,431评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,561评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,238评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,928评论 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,417评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,528评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,983评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,573评论 2 359

推荐阅读更多精彩内容