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>
网友评论