阅读:48
本项目所用的远程链接工具为electerm(开源且跨平台(macOS,linux,windows),同时支持ssh和sftp,支持保存多个命令,唯一的遗憾新版本不支持串口)https://github.com/electerm/electerm/releases.
参考链接:https://www.runoob.com/linux/nginx-install-setup.html
安装编译工具和相关库:
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
安装pcre:
cd /home
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
tar zxvf pcre-8.35.tar.gz
cd pcre-8.35
./configure
make && make install
# 查看版本
pcre-config --version
正式安装nginx:
cd /home
wget http://nginx.org/download/nginx-1.6.2.tar.gz
tar zxvf nginx-1.6.2.tar.gz
cd nginx-1.6.2
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/home/pcre-8.35
make && make install
将nginx的路径添加至环境变量
export PATH=$PATH:/usr/local/nginx/sbin
查看nginx的版本
nginx -v
创建 Nginx 运行使用的用户 www:
/usr/sbin/groupadd www
/usr/sbin/useradd -g www www
配置nginx.conf ,将/usr/local/nginx/conf/nginx.conf替换为以下内容
user www www;
worker_processes 2; #设置值和CPU核心数一致
error_log /usr/local/nginx/logs/nginx_error.log crit; #日志位置和日志级别
pid /usr/local/nginx/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 65535;
events
{
use epoll;
worker_connections 65535;
}
http
{
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
#charset gb2312;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 8m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
#limit_zone crawler $binary_remote_addr 10m;
#下面是server虚拟主机的配置
server
{
listen 80;#监听端口
server_name localhost;#域名
index index.html index.htm index.php;
root /usr/local/nginx/html; #站点目录
location ~ .*\.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$
{
expires 30d;
# access_log off;
}
location ~ .*\.(js|css)?$
{
expires 15d;
# access_log off;
}
access_log off;
}
}
检查配置文件nginx.conf的正确性命令:
nginx -t
启动nginx
nginx
使用IP地址访问站点:
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-4.3.0-Linux-x86_64.sh
对应python版本3.6
运行安装anaconda
yum install bzip2 -y
bash Anaconda3-4.3.0-Linux-x86_64.sh
设置安装路径:
报错:
solution:
yum install bzip2 -y
配置anaconda环境变量生效:
source /root/.bashrc
配置conda的源以加快三方模块的安装速度:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
conda list 验证是否安装成功!
首先创建虚拟环境:
conda create -n django python=3.6
出现的错误及解决方案:
source activate django
conda install django
django-admin startproject launch
yum install tree
cd launch
python manage.py runserver 0.0.0.0:8080
修改settings.py 文件,允许本机访问!
至此,一个最小的Django项目已成功运行,接下来部署至nginx实现多线程访问!
pip install supervisor
echo_supervisord_conf
创建目录,通过命令产生默认配置文件
mkdir /usr/supervisor
echo_supervisord_conf > /usr/supervisor/supervisord.conf
mkdir /usr/supervisor/supervisord.d/
vi /usr/supervisor/supervisord.conf
[include]
files = /usr/supervisor/supervisord.d/*.conf
若需要web查看进程,则去掉[inet_http_server]的注释
[inet_http_server]
port=127.0.0.1:9001 ;IP按需配置 *:9001代表所有主机均可访问该页面
username=user
password=123
supervisord -c /usr/supervisor/supervisord.conf
6.1 通过 http://ip:9001/ 查看supervisor的web界面。这是已经启动后的界面,也可以通过lsof -i:9001来查看监听
[group:djangos]
programs=django-8080,django-8081,django-8082,django-8083
[program:django-8080]
command=/root/anaconda3/envs/django/bin/python /root/launch/manage.py runserver 0.0.0.0:8080
directory=/root/launch
user=root
autorestart=true
redirect_stderr=true
stdout_logfile=/root/launch/django.log
loglevel=info
[program:django-8081]
command=/root/anaconda3/envs/django/bin/python /root/launch/manage.py runserver 0.0.0.0:8081
directory=/root/launch
user=root
autorestart=true
redirect_stderr=true
stdout_logfile=/root/launch/django.log
loglevel=info
[program:django-8082]
command=/root/anaconda3/envs/django/bin/python /root/launch/manage.py runserver 0.0.0.0:8082
directory=/root/launch
user=root
autorestart=true
redirect_stderr=true
stdout_logfile=/root/launch/django.log
loglevel=info
[program:django-8083]
command=/root/anaconda3/envs/django/bin/python /root/launch/manage.py runserver 0.0.0.0:8083
directory=/root/launch
user=root
autorestart=true
redirect_stderr=true
stdout_logfile=/root/launch/django.log
loglevel=info
[Unit]
Description=Process Monitoring and Control Daemon
After=rc-local.service nss-user-lookup.target
[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /usr/supervisor/supervisord.conf;开机启动时执行
ExecStop=/usr/bin/supervisord shutdown
ExecReload=/usr/bin/supervisord reload
killMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
8.1 启动服务:
systemctl enable supervisord
8.2 验证一下是否为开机启动
s```
systemctl is-enabled supervisord
![在这里插入图片描述](https://img-blog.csdnimg.cn/46f67c99d05340d8a1709c735c81b8b2.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAc21pbGVhcHBsZXM=,size_20,color_FFFFFF,t_70,g_se,x_16)
9. supervisor相关命令
9.1 启动/查看进程
```shell
#启动进程
supervisord -c /usr/supervisor/supervisord.conf
#查看进程
ps aux | grep supervisord #查看进程是否存在
#杀死进程
kill 杀死进程pid
9.2 客户端使用
supervisorctl #客户端命令
status # 查看程序状态
stop djangos:* # 关闭 djangos组 程序
start djangos:* # 启动 djangos组 程序
restart djangos:* # 重启 djangos组 程序
update # 重启配置文件修改过的程序
nginx的安装http://www.runoob.com/linux/nginx-install-setup.html
编辑/usr/local/nginx/conf/nginx.conf文件
user www www;
worker_processes 2; #设置值和CPU核心数一致
error_log /usr/local/nginx/logs/nginx_error.log crit; #日志位置和日志级别
pid /usr/local/nginx/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 65535;
events
{
use epoll;
worker_connections 65535;
}
http
{
include mime.types;
default_type application/octet-stream;
# charset gb2312;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 8m;
sendfile on;
# tcp_nopush on;
keepalive_timeout 60;
#gzip on;
upstream djangos{
server 0.0.0.0:8080;
server 0.0.0.0:8081;
server 0.0.0.0:8082;
server 0.0.0.0:8083;
}
#limit_zone crawler $binary_remote_addr 10m;
#下面是server虚拟主机的配置
server{
listen 80;#监听端口
server_name localhost;#域名
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://djangos;
}
location /static {
autoindex on;
alias /var/www/static/; # 记得chmod -R 755 static/修改权限
}
location /media {
autoindex on;
alias /var/www/media/;
}
# access_log off;
error_page 500 502 503 504 /50x.html;
location = /50x.html{
root html;
}
}
}
export PATH=$PATH:/usr/local/nginx/sbin
nginx -t
nginx -s reload
至此,项目已经完成部署了!
yum install -y wget
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
这个安装稍微要几分钟哈…
yum install -y mysql-server
systemctl start mysqld.service
查看mysql的状态:
systemctl status mysqld.service
查看mysql的初始密码:
grep "password" /var/log/mysql/mysqld.log
注意文件mysqld.log所在的路径!
修改mysql的密码:
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
参考链接:https://blog.csdn.net/jason19905/article/details/81366202