Python高性能服务:Python在linux centos下部署nginx+uwsgi+django+mysql8.0+redis共享session实现分布式高可靠生产环境

9 篇文章 0 订阅
2 篇文章 0 订阅
  1. 常用的linux命令行

ls列出当前面目录下的文件信息

ls –a

ls -l

 

cd 切换目录

linux:/系统跟  ~用户根 

cd  / 可以进入系统跟

 

mkdir可以创建目录

 

pwd可以查看当前目录的完整路径

 

vi / vim 文件名,如果文件存在,则打开编辑,如果不存在则创建文件打开编辑界面,如果需要改文件内容,那么按i(insert),编辑内容使用上下左右件移动光标,删除内容的时候使用delete或者backspace,delete是删除当前内容,可以删回车换行,编辑完之后ESC+Shift+:输入q直接退出,输入wq保存退出

 

ps命令行:是查看当前系统启动的进程 ps –A

 

grep:是搜索

 

修改yum源:

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

 

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

2、开启centos的ssh服务需要root权限,先用root账户登陆

 

先检查有没有安装ssh服务:rpm -qa | grep ssh

 

如果没有安装ssh服务就安装 : yum install openssh-server

 

安装好后在ssh配置文件里进行配置 : vim /etc/ssh/sshd_config,去掉Port 22和PermitRootLogin前的注释

用esc+:wq 保存退出

 

修改完后用 /bin/systemctl start sshd.service 开启ssh服务,这个命令没有回显

 

开启后用 ps -e | grep sshd 检查一下ssh服务是否开启

 

再用netstat -an | grep 22检查一下22端口是否开启

 

将ssh服务添加到自启动列表中:systemctl enable sshd.service

 

下载安装putty

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

 

 

3、开启centos的sftp服务器

 

window开发完代码,通过ftp上传到linux服务器

1、安装vsftpd

 

yum install vsftpd -y

2、启动ftp服务

 

service vsftpd start

3、  加入开机启动

chkconfig vsftpd on

 netstat -nltp | grep 21  可以查看系统监听21端口

 

4、更改配置

进入 vi /etc/vsftpd/vsftp.conf 编辑

# 禁用匿名用户

anonymous_enable=NO

 

5、重启ftp服务

service vsftpd restart

 

6、关闭防火墙

 

systemctl stop firewalld.service #停止firewall

 

systemctl disable firewalld.service #禁止firewall开机启动

 7、修改/etc/selinux/config 文件

 将SELINUX=enforcing改为SELINUX=disabled

必须!否则,查看不到所有ftp上面的目录

 

 8、重启虚拟机

 

 

3、yum安装mysql8

wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

 

在无冲突的情况

rpm -ivh mysql80-community-release-el7-1.noarch.rpm

如果已经有mysql版本

rpm -ivh mysql80-community-release-el7-1.noarch.rpm --nodeps --force

 

yum -y install mysql-community-server

 

启动mysql:

systemctl start mysqld

 

或者

 

service mysqld start

 

查看启动状态

systemctl status mysqld

 

或者

 

service mysqld status

 

设置开机启动

 

systemctl enable mysqld

 

systemctl daemon-reload

 

设置密码:

# grep 'temporary password' /var/log/mysqld.log

2019-11-16T07:57:25.990409Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: w>*hr)jTG1IT

[root@ecs-1d4d mysql]# ^C

[root@ecs-1d4d mysql]# mysql -uroot -p

 

# 修改mysql的密码

查看安全模式是否是打开的,如果是打开的直接修改

show variables like 'sql_safe_updates';

在/etc/my.cnf加上

service mysqld restart

mysql –uroot -p

update user set authentication_string='' where user='root'

注释:skip-grant-tables

重启mysql服务可以无密码登录

mysql –uroot –p 直接回车登录

 

ALTER USER  'root'@'%'  IDENTIFIED BY  'Json@123';

 

# 允许mysql被任何其他的主机访问

use mysql;

update user set host='%' where user ='root';

 

flush privileges;

 

5.部分参数配置查询命令

 

 

#查询mysql最大连接数设置

 

show global variables like 'max_conn%';

 

SELECT @@MAX_CONNECTIONS AS 'Max Connections';

 

# 查看最大链接数

 

show global status like 'Max_used_connections';

 

# 查看慢查询日志是否开启以及日志位置

 

show variables like 'slow_query%';

 

# 查看慢查询日志超时记录时间

 

show variables like 'long_query_time';

 

# 查看链接创建以及现在正在链接数

 

show status like 'Threads%';

 

# 查看数据库当前链接

 

show processlist;

 

 

 

# 查看数据库配置

 

show variables like '%quer%';

 

无法启动:

进入目录删除数据

 

[root@localhost lib]# cd /var/lib/mysql

[root@localhost mysql]# ll

[root@localhost mysql]# rm -rf *

 

 

update user set password=password("Root@123") where user=’root’;

flush privileges;

 

 

4、安装python

第一步:安装依赖

 

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

 

yum -y install epel-release


yum install python-pip

 

 

第二步:下载Python3.6.5

wget --no-check-certificate https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

 

 

第三步:创建安装目录

mkdir /usr/local/python3

1

第四步:解压

tar -zxvf Python-3.6.5.tgz

 

# 切换到解压后的根目录

cd Python-3.6.5/

1234

第五步:编译安装

./configure --prefix=/usr/local/python3

make

make install

 

yum -y install zlib*

yum install -y gcc

 

第六步:创建Python3链接

Linux里原来的python命令还是指向Python2,这里创建python3的软链接指向Python3,这样Python2和Python3就都可以用了。

ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3

 

第七步:创建Pip3链接

也保留pip指向Pip2,创建pip3的软链接指向Pip3

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

修改python的镜像地址:

cd  ~

mkdir .pip

cd .pip

 

vi pip.conf

 

安装环境需要的各种包:

yum install mysql-devel

pip3 install --upgrade pip

pip3 install pymysql

pip3 install mysqlclient

pip3 install django-cors-headers

pip3 install baidu-aip

pip3 install django

 

注释版本信息

/usr/local/python3/lib/python3.6/site-packages/django/db/backends/mysql/base.py

 

修改decode为encode

/usr/local/python3/lib/python3.6/site-packages/django/db/backends/mysql/operations.py

        

python3 manage.py runserver 0.0.0.0:80

5、安装uwsgi

pip3  install uwsgi   # 是目前作为主流的python服务器软件

ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi3

 

kill -9 杀进程

 

配置uwsgi.ini文件

[uwsgi]

#使用nginx连接时使用,Django程序所在服务器地址

socket=127.0.0.1:8080

#直接做web服务器使用,Django程序所在服务器地址

#http=127.0.0.1:8080

#项目目录

chdir=/home/liuhaibing/bigshop/djangoproject

#项目中wsgi.py文件的目录,相对于项目目录

wsgi-file=djangoproject/wsgi.py

# 进程数

processes=1 # 万不可用多进程

# 线程数

threads=4

# uwsgi服务器的角色,开启master, 将会多开一个管理进程, 管理其他服务进程

master=True

# 存放进程编号的文件

pidfile=/home/liuhaibing/bigshop/djangoproject/script/uwsgi.pid

# 日志文件,因为uwsgi可以脱离终端在后台运行,日志看不见。我们以前的    #python  manager  runserver是依赖终端的

daemonize=/home/liuhaibing/bigshop/djangoproject/script/uwsgi.log

# 指定静态文件

static-map=/static=/home/liuhaibing/bigshop/djangoproject/static

# 启动uwsgi的用户名和用户组

uid=root

gid=root

#默认的uwsgi分配一个小的buffer(4kb)来接收每个请求的头信息,设置为50kb

buffer-size  = 51200

启动uwsgi进程服务:

uwsgi3 uwsgi.ini

6、安装配置ngnix配置负载分担

 

wget http://nginx.org/download/nginx-1.13.7.tar.gz

 

cd nginx-1.13.7
./configure
make&make install

 

cd /usr/local/nginx/conf

配置:nginx.conf

  upstream servercluster {

       ip_hash;

       server 127.0.0.1:8080;

       server 139.9.129.185;

    }

    server {

        listen       80;

        server_name  0.0.0.0;

 

        #charset koi8-r;

 

        #access_log  logs/host.access.log  main;

 

        location / {

            include  uwsgi_params;

            proxy_pass http://servercluster;

        }

 

 

cd /usr/local/nginx/sbin

启动Nginx

./ nginx

7、安装redis

wget http://download.redis.io/releases/redis-4.0.6.tar.gz

 

tar –zxvf redis-4.0.6.tar.gz

 

进入src目录开始编译 编译安装

cd /home/liuhaibing/redis-4.0.6/src

make

make install

 

修改redis配置

 

cd /home/liuhaibing/redis-4.0.6/

redis.conf

bind改为0.0.0.0

protected-mode 改为no

 

启动 redis服务

进入 src

./redis-server ../redis.conf

 

 

 

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值