资讯专栏INFORMATION COLUMN

阿里云服务器配置(Ubuntu+Nginx+Flask)

eechen / 1763人阅读

摘要:阿里云服务器配置环境配置配置服务启动服务安装,输入主机用户名密码端口,然后连接。安装更改安装源,以保证安装的是最新稳定版。进入虚拟环境使用配置更简单。如果输出相关信息,表明启动成功。是与相关的文件。

阿里云服务器配置(Ubuntu+Nginx+Flask)
Ubuntu 16.04
Nginx 1.12.0
MongoDB 3.4
Python 3
环境配置 配置 FTP 服务
sudo apt-get install vsftpd

启动 vsftpd 服务:

sudo service vsftpd restart

Windows 安装 FileZilla,输入主机、用户名、密码、端口,然后连接。

Nginx 安装

更改 nginx 安装源,以保证安装的是最新稳定版。:

vim /etc/apt/sources.list

添加:

deb http://nginx.org/packages/ubuntu/ xenial nginx
deb-src http://nginx.org/packages/ubuntu/ xenial nginx

更新源,否则会报错

sudo apt-get update

安装 Nginx:

sudo apt-get install nginx

启动 Nginx 测试:

sudo /etc/init.d/nginx start
# 或者
service nginx start

此时打开浏览器访问你的服务器,就能看到经典的 Nginx 欢迎页面!
参看:Nginx Install

Python 相关

安装 Python3 环境的 pip

sudo apt-get install python3-pip

安装创建独立的Python 环境所需的 virtualenv

pip install virtualenv

在指定路径下创建 Python3 虚拟环境:

virtualenv -p /usr/bin/python3 py3env

启动虚拟环境:

source py3env/bin/activate

退出虚拟环境:

deactivate
uWSGI

配置复杂,用 Gunicorn 替代。

进入虚拟Python 环境:

pip3 install uwsgi
Gunicorn

使用 Gunicorn 配置更简单。在虚拟环境下,pip install gunicorn,安装 Gunicorn,新建配置文件 deploy_config.py,内容如下:

import os
bind="127.0.0.1:8080" #绑定的端口
workers=4 #worker数量
backlog=2048
debug=True
proc_name="gunicorn.pid"
pidfile="/var/log/gunicorn/debug.log"
loglevel="debug"

启动 Gunicorn:

gunicorn -c deploy_config.py myapp:app

myapp 是入口Python文件名,app 是Flask 实例名。如果输出 worker 相关信息,表明启动成功。

配置 Nginx

修改 /etc/nginx/sites-available/ 下的defalut 文件为如下内容:

server {
    listen 80;
    server_name example.com; # 这是HOST机器的外部域名,用IP地址也行

    location / {
        proxy_pass http://127.0.0.1:8080; # 这里是指向 gunicorn host 的服务地址
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
  }

配置完了之后软链接一份到 /etc/nginx/sites-enabled/defalut 下面

ln -s /etc/nginx/sites-available/defalut /etc/nginx/sites-enabled/defalut

注:也可以删除default 文件的,新建自己的配置文件,并建立软链接。

配置 Supervisor

安装:

apt-get install python-setuptools
easy_install supervisor
echo_supervisord_conf > /etc/supervisord.conf

配置文件中添加:

[program:myapp]
command=/home/www/myapp/py3env/bin/gunicorn -c /home/www/myapp/deploy_config.py myapp:app
autorstart=true
directory=/home/www/myapp
autorestart=true
startsecs=10
startretries=20

[program:nginx]
command=/usr/sbin/nginx
startsecs=0
stopwaitsecs=0
autostart=true
autorestart=true
stdout_logfile=/var/deploy/log/nginx.log
stderr_logfile=/var/deploy/log/nginx.err

如出现端口占用的错误,则:

sudo unlink /tmp/supervisor.sock
sudo unlink /var/run/supervisor.sock

启动 Supervisord:

supervisord -c /etc/supervisord.conf

关闭 supervisor:

supervisorctl shutdown
重新载入配置
supervisorctl reload
补充 Linux 命令
命令 功能 实例
cp 复制文件或目录 cp file1 file2

监听端口:

lsof -i tcp | grep LISTEN

******************************
sshd       837 root    3u  IPv4   8888      0t0  TCP *:ssh (LISTEN)
vsftpd    4463 root    3u  IPv4  19989      0t0  TCP *:ftp (LISTEN)
Nginx 知识补充
tree /etc/nginx/
/etc/nginx/
├── conf.d
├── fastcgi_params
├── koi-utf
├── koi-win
├── mime.types
├── naxsi_core.rules
├── naxsi.rules
├── naxsi-ui.conf.1.4.1
├── nginx.conf
├── proxy_params
├── scgi_params
├── sites-available
│   └── default
├── sites-enabled
│   └── default -> /etc/nginx/sites-available/default
├── uwsgi_params
└── win-utf

文件夹 sites-enabled 中的文件为 sites-available 文件夹中文件的硬链接。

配置文件从 sites-avalidable中加载,默认配置文件为其中的default` 文件。

nginx.conf 为主配置文件。

uwsgi_parems 是与 Python 相关的文件。

fastcgi_parms 是与 PHP 相关的文件。

nginx 的默认网站目录 /usr/share/nginx/html

常用命令:

nginx -s stop  快速关闭 nginx
nginx -s quit  优雅的关闭 nginx
nginx -s reload  重新加载配置
nginx -s reopen  重新打开日志文件

获取所有运行中的 nginx 进程列表:

ps -ax | grep nginx

若 nginx 主进程 pid1628,则可用kill命令发送 QUIT 信号,关闭此进程:

kill -s QUIT 进程ID

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/38262.html

相关文章

  • 阿里务器配置Ubuntu+Nginx+Flask

    摘要:阿里云服务器配置环境配置配置服务启动服务安装,输入主机用户名密码端口,然后连接。安装更改安装源,以保证安装的是最新稳定版。进入虚拟环境使用配置更简单。如果输出相关信息,表明启动成功。是与相关的文件。 阿里云服务器配置(Ubuntu+Nginx+Flask) Ubuntu 16.04 Nginx 1.12.0 MongoDB 3.4 Python 3 环境配置 配置 FTP 服务 sud...

    YacaToy 评论0 收藏0
  • CentOS+Nginx+https+flask+域名备案

    摘要:记录日期为年月日阿里云域名购买及备案在阿里云购买域名和服务器以后,先进行服务器备案,生成备案号,然后进行实名采集认证等操作,全部结束以后,才可以进行域名备案申请。提交资料需要用阿里云手机提交,一个工作日左右会有人员和你联系,确认信息。 这篇文章内容比较杂,但是这次我准备多写些干货,自己备查,也方便别人参考。记录日期为2019年06月21日 阿里云域名购买及备案 在阿里云购买域名和服务器...

    geekzhou 评论0 收藏0
  • CentOS 下使用 Pipenv + Gunicorn + Supervisor 部署 Flask

    摘要:根据中华人民共和国信息产业部第十二次部务会议审议通过的非经营性互联网信息服务备案管理办法精神,在中华人民共和国境内提供非经营性互联网信息服务,应当办理备案。未经备案,不得在中华人民共和国境内从事非经营性互联网信息服务。 当我们开发了一个简单的 Flask 程序,想把项目部署上线,我们可以选择传统的部署方式或者云部署方式把项目部署上线。在本文中,笔者将使用 阿里云轻量应用服务器 安装 C...

    anyway 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<