天翼云主机ubuntu20.04搭建实录

上手即入坑,创建后找不到密码,只能(关机后)重建密码。

更多->网络设置->更改安全组->新建安全组 把常用端口放行。

80 等端口需要网站备案后才能访问 所以备案之前nginx服务器端口号有必要修改为81或其他。

MacOS中ping IP+端口(ping之前必须先确定系统内有服务在监听这个端口,否则出错)

nc -vz -w 2 192.168.1.1 8080

windows中ping IP+端口

telnet 192.168.1.1 8080

ubuntu 20.04系统默认时区不对,调整一下再创建时区软链:

tzselect

sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

查看电脑时区:

timedatectl

20.04系统已预装python3.8 但默认是没有pip3的,所以第一步先装pip3

sudo apt install python3-pip

mkdir ~/.pip

sudo nano ~/.pip/pip.conf

输入以下内容:

[global] 

index-url = https://mirrors.aliyun.com/pypi/simple

系统默认的python环境是python2.7 所以默认环境我们要改为3.8:

删除掉旧的软链 

sudo rm /usr/bin/python

新建软链指向python3.8 

sudo ln -s /usr/bin/python3.8 /usr/bin/python

这样你终端输入python 就会进入python3.8

安装和配置Nginx

Nginx 在默认的 Ubuntu 源仓库中可用。想要安装它,运行下面的命令:

sudo apt update

sudo apt install nginx

一旦安装完成,Nginx 将会自动被启动。你可以运行下面的命令来验证它:

sudo systemctl status nginx

现在你已经在你的服务器上安装和运行了 Nginx,你需要确保你的防火墙被配置好,允许流量通过 HTTP(80)和 HTTPS(443)端口。假设你正在使用UFW,你可以做的是启用 ‘Nginx Full’ profile,它包含了这两个端口:

sudo ufw allow 'Nginx Full'

sudo ufw enable

Nginx 日志文件(access.log 和 error.log)定位在/var/log/nginx/目录下。

ufw 开启的同时要开放22端口,要不然ssh连接不上  

sudo ufw allow 22 

修改nginx配置文件:

sudo nano -c  /etc/nginx/sites-enabled/default

server {        listen 81 default_server;        listen [::]:81 default_server;        root /var/www/html;        index index.html index.htm index.nginx-debian.html;        server_name 101.91.200.66;        client_max_body_size 75M;        location / {                include uwsgi_params;                uwsgi_pass 127.0.0.1:3389;                uwsgi_param UWSGI_PYTHON /usr/bin/python;                uwsgi_param UWSGI_CHDIR sj;                uwsgi_param UWSGI_SCRIPT sj:app;                try_files $uri $uri/ =404;        }}

Nginx 运行错误 500   Permission denied  :系统权限不足,修改配置文件 user 改为 root    

sudo nano -c /etc/nginx/nginx.conf

user root;

Nginx 重启:

 /etc/init.d/nginx restart 

通过端口号来查找进程ID:  lsof -i:端口号。

lsof -i:5050

kill -9 pid

pid是指进程的ID号 ,kill -9 用来强制杀死进程

安装uwsgi:

sudo apt-get install uwsgi-core 

sudo apt install uwsgi-plugin-python3 

uwsgi配置:任意路径创建uwsgi.ini文件,写入:

[uwsgi]

plugins = python3

master=true

processes=2

socket=127.0.0.1:3389 #这个端口要和sj.py run方法中的端口一致

chdir=/root/sj

wsgi-file=sj.py

callable=app

threads=2

pidfile = uwsgi.pid

daemonize = uwsgi.log

log-master = true


创建sj.service 使uwsgi开机自动启动 。

cd  /etc/systemd/system/

sudo nano -c sj.service

[Unit]

Description=uWSGI instance to serve sj

After=network.target

[Service]

ExecStart=/usr/bin/uwsgi --ini /root/sj/uwsgi.ini

Type=forking

[Install]

WantedBy=multi-user.target

修改权限,如果不修改可能自启不成功:sudo chmod 777 sj.service

Type=forking 这行非常重要,如果没这行 服务启动一分半钟后就会被系统杀死

设置为自动启动(非常重用):    systemctl enable sj

你可能感兴趣的:(天翼云主机ubuntu20.04搭建实录)