# 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 下载对应的源文件
curl http://mirrors.163.com/.help/CentOS7-Base-163.repo -o CentOS7-Base-163.repo
# 更新缓存
yum clean all
yum makecache
参考文章:
http://mirrors.163.com/.help/centos.html
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel mysql-devel gcc gcc-devel python-devel
wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tar.xz
tar -xvf Python-3.6.9.tgz
cd Python-3.6.9
mkdir /usr/local/python3
./configure --prefix=/usr/local/python3 # --prefix指定安装目录
make && make install
ln -s /usr/local/python3/bin/python3 /usr/bin/python3 # 软链接
pip 和虚拟环境
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
pip3 install virtualenv
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
virutalenv -p /usr/bin/python3 imocc # 在当前目录创建 Python 虚拟环境 imocc
cd imooc/bin
source activate # 激活虚拟环境
更换 pip 源
cd ~ # 切换到用户家目录
mkdir .pip
cd .pip
vim pip.conf
# 配置如下
[global]
index-url=https://pypi.douban.com/simple
trusted-host = pypi.douban.com
# CentOS7默认安装mariadb数据库,移除
yum remove mariadb-libs.x86_64
下载 Mysql源
# https://dev.mysql.com/downloads/repo/yum/
# https://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
(imocc) [root@localhost hj]# cd /tmp/
(imocc) [root@localhost tmp]# wget https://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
# 安装源
yum localinstall mysql57-community-release-el7-8.noarch.rpm
# 安装MySQL
yum install mysql-community-server
# 启动
sudo service mysqld start
# 默认密码
cat /var/log/mysqld.log | grep “password” # 不好使就用下一条
grep ‘temporary password‘ /var/log/mysqld.log
# 修改默认密码
set global validate_password_policy=0;
set global validate_password_length=1;
ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘110139‘;
CREATE USER ‘root‘@‘%‘ IDENTIFIED BY ‘110139‘; # 开放MySQL外网访问
grant all privileges on *.* to ‘root‘@‘%‘; # 给予root权限
FLUSH PRIVILEGES; # 刷新用户权限
exit
service mysqld restart
systemctl disable firewalld.service # 禁止防火墙开机启动
若是远程访问,还是不能远程连接 MySQL,可以把防火墙关闭试试:
service firewalld stop
# 安装 ssh 用于 xshell 连接服务器
yum install openssh-server # 安装 ssh
service sshd start # 启动 ssh
chkconfig sshd on # 设置开机运行
yum install vim
yum install wget
安装 mysqlclent 踩坑
pip
安装时报错:ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
yum install mysql-devel # 安装依赖
pip install mysqlclient
服务器终端安装 openssh-server
,再使用 xshell
连接服务器:
yum install openssh-server -y
service sshd restart
#xshell连不上,SSH服务端不允许密码验证。
#服务端开启密码验证的方法:
# 把PasswordAuthentication项为yes
vim /etc/ssh/sshd_config
# 重启服务
service sshd restart
若 xshell
连接不了服务器(公网服务器),可参考第四节。
拷贝代码到服务器
Windows
上找到项目目录,命令行执行 scp
命令,将项目文件上传到远程服务器:
# root:用户名,:/home/hj 为远程服务器路径,回车输入密码
scp -r MxShop root@192.168.131.131:/home/hj
也可以使用其他工具上传,如:winscp
。
# 提前安装好系统依赖包:
centos:
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel libffi-devel python-devel mariadb-devel
ubuntu:
sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev default-libmysqlclient-dev libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-dev liblzma-dev libffi-dev libc6-dev
1. 获取
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
tar -xzvf Python-3.6.2.tgz -C /tmp
cd /tmp/Python-3.6.2/
2. 把Python3.6安装到 /usr/local 目录
./configure --prefix=/usr/local
make
make altinstall
3. 更改/usr/bin/python链接
ln -s /usr/local/bin/python3.6 /usr/bin/python3
安装 pip 和 pipenv
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
sudo python get-pip.py
# 安装 pipenv
pip install pipenv -i https://pypi.douban.com/simple
#1.安装
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-community-server
#2.重启服务
service mysqld restart
#3. 设置bind-ip
vim /etc/my.cnf
在 [mysqld]:
下面加一行
bind-address = 0.0.0.0
#4.登录mysql
mysql -u root
#5. 设置外部ip可以访问
#mysql中输入命令:
#后面用navicat连接远程服务器mysql的用户名和密码
GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘123456‘ WITH GRANT OPTION;
FLUSH PRIVILEGES;
#6.设置mysql密码
进入mysql:
set password =password(‘123456‘); #密码123456
flush privileges;
yum install python-setuptools python-devel
pip install virtualenvwrapper
#编辑.bashrc文件
vim ~/.bashrc
#添加进去
export WORKON_HOME=$HOME/.virtualenvs
source /usr/bin/virtualenvwrapper.sh
#sudo find / -name virtualenvwrapper.sh 查看你的virtualenvwrapper.sh在什么地方
#重新加载.bashrc文件
source ~/.bashrc
#虚拟环境保存的路径
cd ~/.virtualenvs/ (创建的虚拟环境都会保存在这个目录,前面设置的)
#创建指定python版本的虚拟环境方法
mkvirtualenv MxShop --python=python3.6
workon MxShop
#进虚拟环境安装依赖包首先 pip freeze > requirements.txt 将本地的虚拟环境安装包导出来,上传到服务器
pip install -r requirements.txt
#安装mysqlclient出问题
centos 7:
yum install python-devel mariadb-devel -y
ubuntu:
sudo apt-get install libmysqlclient-dev
然后:
pip install mysqlclient
也可以采用 pipenv
管理虚拟环境,不用进行上述操作:
# xshell 连接远程服务器
# 切换到项目目录中
cd /home/hj/Projects/MxShop
# 因为之前在 Windows 上便已经用 pipenv 管理虚拟环境,因此远程服务器上只需 pipenv install 就能安装虚拟环境和依赖包
# 注意:要在项目中与 Pipfile 同级目录执行
pipenv install --skip-lock
# 查看 Python 解释器路径
pipenv --py
Windows
上使用 navicat
连接远程服务器 MySQL
数据库,创建新的数据库,并将本地数据同步到远程数据库:
目的:
Windows
上使用 Pycharm
进行开发,使用环境为远程服务器上 Python
虚拟环境这样做的好处就是能够同时利用 Windows 和 Linux 两种环境,充分利用两者的优势(Windows 应用软件丰富,便利,Linux 开发环境可以避开很多坑,接近真实线上环境)
Pycharm ---Tools--Deployment--Configuration
左上角点击 +,选择 SFTP
,右侧配置栏 Connection
参数如下:
Type: SFTP
Host: 192.168.131.131
User name: root # 此处必须是 root,否则配置 Python 解释器时,对 root 目录无权限
Password:# 密码
Root path:/
Web server URL:http://192.168.131.131
Mappings
映射配置如下:
Local path:F:/pycharm resource/MxShop # 本地项目目录
Deployment path:/MxShop # 远程服务器项目相对路径
Web path:/
配置远程 Python 虚拟环境
Pycharm --> settings --> Project MxShp --> Project Interpreter
,右侧点击 + ,添加新的 Python
解释器。
解释器类型选择 SSH Interpretr
即远程服务器的 Python
解释器,右侧选择 Existing server configuration
,已存在的服务配置 MxShp
,选择 Next
,进入到具体的配置界面:
Interpreter
配置远程服务器的 Python
解释器(虚拟环境地址),可用 pipenv --py
查看,也可使用输入框后的 文件夹图标选择。
Sync folders
为同步目录,选择远程服务器中项目目录,此处应该为 /MxShop
,然后勾选 Automatically upload project files to the server
及自动同步代码。
运行支持
Pycharm
右上角,点击 Edit Configurations
,左上角 +,添加 Django server
:
原文:https://www.cnblogs.com/midworld/p/13357912.html