virtualenv是一个神器,它用来隔离各种不同的Python运行环境,避免了不同项目依赖的库版本不同导致的冲突。
- $ sudo yum install python-virtualenv
为什么不使用pip来安装?因为在Centos中会安装成模块,无法全局调用,简单的处理方式就是使用yum来安装,后面的uwsgi同理。
- $ sudo yum install uwsgi
安装nginx
- $ sudo yum install nginx
三、安装配置mysql8
在Centos中直接用yum安装mysql会安装mariadb,对于数据库我们需要精确的控制版本,所以需要其他安装方式。
1.安装mysql
- $ cd ~
获取mysql的仓库文件并安装
- $ wget http://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm
安装仓库
- $ sudo rpm -ivh mysql80-community-release-el7-1.noarch.rpm
添加mysql到repolist
- $ sudo yum repolist enabled | grep "mysql.*-community.*"
查看列表状态,准备安装的版本是否为enable。
- $ sudo yum repolist all | grep mysql
安装mysql
- $ sudo yum install mysql-community-server
2.启动mysql
在centos中使用systemctl命令来控制服务启动、重启、停止、设置开机启动和查看状态,后面我们会编写一个服务来自启动uwsgi
启动
- $ sudo systemctl start mysqld.service
停止
- $ sudo systemctl stop mysqld.service
重启
- $ sudo systemctl restart mysqld.service
查看状态
- $ sudo systemctl status mysqld.service
设置开机启动
- $ sudo systemctl enable mysqld.service
取消开机启动
- $ sudo systemctl disable mysqld.service
3.mysql的操作
安装过程中我们并没有设置账号密码,但是mysql默认有一个root账号,安装时为它设置了临时密码,我们第一件事就是查看这个密码登录root账号,并修改密码。
查看root账号临时密码
- $ sudo grep 'temporary password' /var/log/mysqld.log
登录root账号并修改密码
- $ mysql -u root –p
输入临时密码后进入mysql的操作界面
- >ALTER USER 'root'@'localhost' IDENTIFIED BY 'yourpassword';
和Linux一样,我们同样不能使用root账号来操作数据库,应该新建一个账号来连接相应的数据库。
新建用户
- >ALTER USER 'root'@'localhost' IDENTIFIED BY 'yourpassword';
新建数据库
- >create datebase webapp charset=utf8mb4 collate=utf8mb4_unicode_ci;
数据库授权
- >grant all privileges on *.* to 'flask'@'lcoalhost' with grant option;
四、配置服务器
现在已经万事俱备了,我们只需要做相应的配置就可以完成服务器的搭建了。
1.配置python虚拟环境及安装依赖
首先将我们完成开发的程序传到服务器上,在开发计算机上使用scp命令:
- $ scp –r local_folder user@server_ip:/home/user/myapp
输入服务器的user用户的密码
然后新建虚拟环境
- $ cd /home/user/myapp
- $ virtualenv venv --python=python3
进入虚拟环境
- $ source venv/bin/activate
安装依赖
requirements.txt是我们在开发完成后使用pip freeze > requirements.txt生成的。
- (venv)$ pip install -i https://pypi.douban.com/simple -r requirements.txt
-i 参数是使用豆瓣源,速度嗖嗖快,-r是指安装requirements.txt逐个安装。 (编辑:开发网_开封站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|