1.什么是进程?
进程是已启动的可执行程序的运行实例
进程的组成部分:
1.已分配内存地址空间
2.安全属性 所有权
3.程序代码的一个或者多个执行线程
4.进程的状态
进程的属性:
1.进程的id,唯一的数值,用来区分进程
2.启动进程的用户id
3.进程的状态:分别为运行R,休眠S,僵尸Z
4.进程的执行优先级
5.进程的资源占用,比如内存,cpu
2.使用ps查看进程
ps命令用于查看进程相关信息,默认只显示前台进程
常用的参数:
1.a:显示跟当前终端关联的所有进程
2.u:基于用户的格式显示
3.x:显示所有进程,不以终端来区分
1.--e 显示所有进程
2.--f 显示完整格式输出
tasks 进程的总数
running 正在运行的进程数
sleeping 睡眠的进程数
stopped 停止的进程数
zombie 僵尸的进程数
cpu(us) 系统用户进程使用cpu的百分比
sy 内核中的进程使用cpu的百分比
ni 用户进程占用的cpu百分比
id 空闲的cpu占用百分比
WSGI,uWSGI,NGINX
WSGI:web服务器网关接口,只是一种描述web服务器如何与web应用程序通信的规范
uWSGI:是一个全功能的http服务器
NGINX:是一个web服务器,可以作为反向代理服务器
sudo +命令 即有超级用户的权限
文件解压缩:
cd到要解压文件的目录中
xz -d 文件名 (变成tar格式的的文件)
tar -xvf 文件名(解压tar文件)
unzip 文件名 (解压zip文件)
vim 打开文件,编辑文件
库的安装:
vim README.rst
在服务器中创建python虚拟环境:
cd 到要选择要创建虚拟环境python版本文件下
./python -m venv /虚拟环境创建的路径/创建虚拟环境的名字
在项目命令输入行中执行:pip freeze 之后执行 pip freeze > requirements.txt
移动文件
scp -r 文件名 root@虚拟机ip:路径
进入root:ssh root@虚拟机IP
进入环境所在文件夹:cd python3env
进入环境:source bin/activate
之后进入到项目
下载requirements.txt
pip install -r requirements.txt
配置 uwsgi协议 首先 pip install uwsgi
之后 uwsgi 激活
之后配置settings.py中的ALLOWED_HOSTS=[’*’]
vim 项目名/settings.py
之后配置 django_uwsgi.ini
vim django_uwsgi.ini
[uwsgi]
通过uwsgi方位django需要配置http
http = :9000 (端口号)
socket
web项目根目录
chdir = /home/root1/mysite (需要查看django_uwsgi.ini所在的文件路径)
module指定项目自带的wsgi配置文件的位置
module = mysite.wsgi
允许主进程存在
master = true
开启进程数量
processes = 3
服务器退出时自动清理环境
vacuum = true
运行项目
uwsgi --ini django_uwsgi.ini --buffer-size 30000
关闭防火墙
systemctl stop firewalld
下载nginx
CentOS7 yum 安装 Nginx最新版本
下载对应当前系统版本的nginx包(package)
#wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
建立nginx的yum仓库
rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
下载并安装nginx
yum install nginx
查看是否启动nginx
systemctl status nginx
启动的话本机访问虚拟机IP为 welcome to nginx即可
cd /etc/nginx/ etc中放置了各种配置文件
cd conf.d
vim mysite.conf 自己编写mysite.conf文件
server{
listen 8080;
location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass 127.0.0.1:项目启动端口一致;
}
}
vim nginx.conf中修改user为root
nginx -t 检查是否错误 为OK则没错
启动nginx服务
systemctl start nginx
报错则查错tail -f /var/log/nginx/error.log
错误为"/var/run/nginx.pid"
删除:rm -rf /var/run/nginx.pid
重新启动nginx:systemctl restart nginx
之后运行:setenforce 0
永久关闭防火墙:vim /etc/selinux/config 里面改为 diabled
cd conf.d/
vim mysite.conf
增加location
server{
listen 8080;
location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass 127.0.0.1:8001;
}
location /static{
alias /home/mysite/mysite/static;
}
}
进入虚拟环境:执行vim mysite/settings.py 添加STATIC_ROOT = ‘static’
再执行:python manage.py collectstatic
开启mysql
systemctl start mariadb