如何在服务器中安装python、mysql、uwsgi、nginx并启动服务

    xiaoxiao2023-11-10  154

    首先要以root用户登陆你的服务器,如果不是,只用在每条语句前加上sudo即可

    apt-get install software-properties-common add-apt-repository ppa:jonathonf/python-3.6 apt-get update apt-get install python3.6

    在中间如果需要你输入Y or N,请输入Y然后继续就可以了 这个时候你的python3的版本仍然是python3.5,这就需要我们更改一下了

    which python3 # 找到你的python3这个位置 cd [path] # 进入这个目录 rm python3 # 删除python3文件 ln -s python3.6 python3 # 重新生成一个软链接 python3 -V # 查看python3的版本

    你也可以使用同样的方法,将python也指定为3.6版本 也可以查看python的版本,将你不需要的版本删除

    python + tab +tab # 查看你的python的所有版本 apt autoremove pythonx.x # 删除你不需要的python版本

    接下来就是安装pip了

    apt-get install python3-pip pip3 install --upgrade pip # 升级pip的版本到最新

    同样的你可以看看pip3指向的是不是python3.6,如果不是,可以用上面的方法更改问python3.6 创建一个虚拟环境并激活

    virtualenv mysite_env cd mysite_env source bin/activate

    安装mysql

    wget https://dev.mysql.com/get/mysql-apt-config_0.8.13-1_all.deb # 这个是mysql下载的一个链接 dpkg -i mysql-apt-config_0.8.13-1_all.deb apt-get update apt-get install mysql-server

    这样就可以安装好mysql了,中间会让你选择哪个版本,还有输入密码,选择插件。依次进行就行了,插件选择哪个都行,我选择的是5.x版本。 安装mysqlclient

    wget https://dev.mysql.com/get/Downloads/MySQL-8.0/libmysqlclient-dev_8.0.16-2ubuntu16.04_amd64.deb # 一定要与你的mysql服务器的版本相同 dpkg -i libmysqlclient-dev_8.0.16-2ubuntu19.04_amd64.deb apt-get update apt-get install libmysqlclient-dev # 这一步如果出现错误的话,就根据提示输入命令即可,我的提示的是使用 apt-get -f install apt-get install python3.6-dev # 安装过了就不需要重复安装 apt-get install libssl-dev pip install mysqlclient

    安装uwsgi

    apt-get install python3.6-dev # 安装过的可以不用安装 pip3 install uwsgi

    安装nginx

    apt-get install nginx

    将uwsgi与nginx联系起来,提供服务 我们需要修改一些配置

    cd /etc/nginx/sites-enabled/ rm default cd .. cd sites-available vim projectname.conf

    文件里的内容

    server { listen 80; # 监听80端口 server_name projectname; # 自定义的 charset utf-8; client_max_body_size 75M; location /static { alias /home/mysite/static; # 路径是你静态文件的路径 } # 静态文件 location /media { alias /home/mysite/media; # 与上一个类似 } # 静态文件 location / { uwsgi_pass 127.0.0.1:8000; # 服务的端口 include /etc/nginx/uwsgi_params; # uwsgi_params的路径 } # 动态链接 }

    接下来就回到我们的home路径

    cd /home mkdir projectname_uwsgi cd projectname_uwsgi vim projectname.ini

    文件中的内容

    [uwsgi] chdir = your/project/path home = your/virtualenv/path module = your/project/path.wsgi:application master = True processes = 4 # 最多几个线程进行请求 max-requests = 5000 # 一个线程最多请求5000个 harakiri = 60 # 超时时间(s) socket = 127.0.0.1:8000 uid = 1000 gid = 2000 pidfile = your/projectname_uwsgi/path/master.pid daemonize = your/projectname_uwsgi/path/projectname.log # 后台运行,日志文件 vacuum = True # 当服务器关闭或退出会对上面两个文件回溯

    接下来进行测试一下,启动uwsgi

    uwsgi --ini your/projectname.ini/path ps -aux | grep uwsgi # 查看进程

    使用的是socket协议 接下来需要对projectname.conf文件进行一下设置,移动它的位置

    ln -s your/projectname.conf/path /etc/nginx/sites-enabled/projectname.conf

    使用uwsgi以ini文件启动

    uwsgi --ini uwsgi.ini # 你的ini路径 ps- aux | grep uwsgi # 查询uwsgi是否启动

    启动nginx服务

    service nginx start

    其他一些操作

    service nginx start/stop/restart # 启动/停止/重启nginx ps -aux | grep uwsgi # 查询uwsgi的相关进程 uwsgi --stop uwsgi.pid # 停止服务 uwsgi --reload uwsgi.pid # 重新加载服务 ps -aux | grep uwsgi |awk '{print $2}'|xargs kill -9 # 关闭所有uwsgi服务
    最新回复(0)