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

首先要以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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值