CentOS7下部署Django项目(完整版)
部署过程中所用到的所有安装包:
下载地址:https://pan.baidu.com/s/1RJ1ONxMkzHI7Int2ezb8yw 提取码:yl9r
python3.6+mysql5.6+redis3.2+uwsgi+nginx+celery
一、安装python3.6
①安装依赖
yum -y groupinstall "Development tools"
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ unixODBC unixODBC-devel -y
②下载安装包:https://www.python.org/downloads/release/python-368/
③上传到Linux上并解压
tar -zxvf Python-3.6.8.tgz
cd Python-3.6.8
④编译
./configure --prefix=/usr/local/python3
⑤安装
make && make install
⑦建立软链接
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3
⑧查看python3与pip3版本
python3
pip3 -V
以上python3.6安装成功。
二、安装mysql5.6
1、下载
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
2、解压
tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
3、移动安装目录
mv mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql
4、添加用户和组
groupadd mysql
useradd -g mysql mysql
5、安装mysql
①进入mysql目录:cd /usr/local/mysql
②把目录权限分配给mysql组下的mysql用户:chown -R mysql:mysql ./
③安装mysql:./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
安装mysql语句报错执行,出现/usr/bin/perl: bad interpreter: No such file or directory
执行:yum install -y perl perl-devel
如果还出现please install the following Perl modules before executing ./scripts/mysql_install_db:Data::Dumper
执行:yum install -y perl-Module-Install
6、编辑配置文件
①进入目录:cd /usr/local/mysql/support-files
②复制配置文件:cp my-default.cnf /etc/my.cnf
③添加系统服务、开机自启动:
先复制文件:cp mysql.server /etc/init.d/mysql
开机启动:chkconfig mysql on
④配置my.cnf:编辑文件:vi /etc/my.cnf,添加以下内容
[mysql] default-character-set=utf8 [mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data port=3306 socket=/tmp/mysql.sock symbolic-links=0 character-set-server=utf8 default-storage-engine=INNODB [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
7、添加环境变量
①编辑文件:vi /etc/profile
②添加以下两行环境变量:
export PATH=/usr/local/mysql/bin:$PATH
③设置环境变量生效:source /etc/profile
④软连接:ln -fs /usr/local/mysql/bin/mysql /usr/bin
8、启动mysql
service mysql start
9、修改密码
①mysql刚安装完毕没有密码进入mysql命令行:mysql -uroot -p
②查询mysql用户:select User, Host, Password FROM mysql.user;
③修改root密码:update mysql.user set password=password('password') where User="root";
④刷新权限:flush privileges;
10、添加远程访问权限
①登录mysql:mysql -uroot -ppassword
②使用mysql:use mysql;
③为root添加远程权限,%号表示允许任何ip访问数据库:grant all privileges on *.* to root@"%" identified by "password";
④刷新权限:flush privileges;
⑤重启mysql:service mysql restart
11、关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
或者:
systemctl stop firewalld
systemctl disable firewalld
以上mysql5.6安装完成。
12、建数据库,导入数据库文件
①先登录mysql -uroot -ppassword
②创建数据库:create database tesudrm_zjenergy charset=utf8;
③退出数据库,执行导入数据库文件操作:mysql -uroot -ppassword tesudrm_zjenergy < tesudrm_zjenergy.sql
等待执行成功。(注意:tesudrm_zjenergy.sql文件要事前准备好)
13、导出数据库
mysqldump -uroot -ppassword tesudrm_zjenergy > tesudrm_zjenergy.sql
三、安装redis3.2.1
1、首先安装依赖环境gcc
yum -y install gcc automake autoconf libtool make
注:运行yum时出现/var/run/yum.pid已被锁定,PID为xxxx的另一个程序运行的问题解决
rm –f /var/run/yum.pid
2、安装tcl8.6.1-src.tar.gz
①下载:wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
②解压:tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/
③进入安装目录:cd /usr/local/tcl8.6.1/unix/
④安装:
./configure
make && make install
3 下载redis-3.2.1.tar.gz
下载地址:http://download.redis.io/releases/ 选择redis-3.2.1.tar.gz
或者:wget http://download.redis.io/releases/redis-4.0.1.tar.gz
4 解压
tar zxvf redis-3.2.1.tar.gz
5 切换目录
cd redis-3.2.1
6 执行
make MALLOC=libc
7 安装到指定目录
make PREFIX=/usr/local/redis install
8 安装好redis后,对make做测试
执行:make test
9 查看cd /usr/local/redis/bin
10、配置redis
redis端口号或启动有默认配置。但一般我们都会通过手动配置完成
①回到根目录找到解压文件中的reids.conf
将配置文件复制到安装文件的目录下:cp redis.conf /usr/local/redis
②自定义配置redis
进入对应的安装目录:cd /usr/local/redis
修改配置文件redis.conf:vi redis.conf
redis.conf中配置默认必须修改以下三处:
bind 127.0.01 注释掉:
daemonize no 修改为 daemonize yes:
requirepass 设置密码(可以不设置,设置之后,登录时需要密码):
以上redis.conf文件配置完成。
11、redis设置开机自启动
linux开机会执行/etc/init.d目录中的文件
①复制文件
cp /opt/redis-3.2.1/utils/redis_init_script /etc/init.d/redis
②编辑文件
vi /etc/init.d/redis
只需修改四个地方:
添加:#chkconfig: 2345 90 10
修改地址:EXEC=/usr/local/redis/bin/redis-server 说明:redis文件夹所在的redis-server所在路径
修改地址:CLIEXEC=/usr/local/redis/bin/redis-cli 说明:redis文件夹所在的redis-cli所在路径
修改地址:CONF="/usr/local/redis/redis.conf" 说明:redis启动所用的配置文件所在路径
③授予权限
chmod 755 /etc/init.d/redis
④启动测试
/etc/init.d/redis start
⑤设置开机启动
chkconfig redis on
12、测试连接reids
以上redis安装完成。
13、redis启动与关闭
service redis start
service redis stop
四、上传项目安装项目依赖
1、上传项目到/opt/pro目录下
2、安装依赖
①在线安装
cd /opt/pro/TSDRM
pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
以上是有网情况下安装。如果没网,采用以下离线安装方式。
②离线安装
首先在我们的/opt目录下放入离线安装包package(安装包里有)与项目依赖文件requirements.txt(安装包里有)
(本地下载离线安装包:pip3 download -d /opt/package -r /opt/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/)
然后执行:
pip3 install --no-index --find-links=/opt/package -r /opt/requirements.txt
如:
等待安装完成。
查看依赖:pip3 list:
以上依赖安装完成。但是cx_oracle需要自己手动安装。如下:
uwsgi记得做软连接:ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
3、安装python-libvirt模块(云平台)
下载libvirt-python安装包:https://pypi.org/project/libvirt-python/6.8.0/#files
上传以及解压安装包(注意版本):
安装kvm环境:yum install -y libvirt-devel
安装模块:
cd libvirt-python-6.8.0
python3 setup.py install
查看:安装成功。
五、cx_oracle5.3版本安装(如果不需要安装可以跳过此步骤)
①下载安装包
instantclient-sdk-linux.x64-11.2.0.4.0.zip
instantclient-basic-linux.x64-11.2.0.4.0.zip
下载地址:https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html
cx_Oracle-5.3.tar.gz
下载地址:https://pypi.org/project/cx-Oracle/5.3/#files
②解压
unzip instantclient-sdk-linux.x64-11.2.0.4.0.zip
unzip instantclient-basic-linux.x64-11.2.0.4.0.zip
tar -xzvf cx_Oracle-5.3.tar.gz
③配置环境变量
编辑文件:vi /etc/profile
添加:(注意路径:在哪个目录下解压:这里在/opt/pro/cs目录下进行解压)
export ORACLE_HOME=/opt/pro/cs/instantclient_11_2
export LD_LIBRARY_PATH=/opt/pro/cs/instantclient_11_2:$LD_LIBRARY_PATH
设置生效:source /etc/profile
④创建快捷键
进入 /opt/pro/cs/instantclient_11_2 目录,执行以下命令:ln -s libclntsh.so.11.1 libclntsh.so
⑤安装cx_oracle
cd cx_Oracle-5.3
执行:python3 setup.py install
测试:python3 -c "import cx_Oracle"
如果没有报错,则安装成功。
六、安装nginx
1、安装依赖
yum install -y gcc pcre pcre-devel openssl openssl-devel gd gd-devel
2、下载nginx
wget -c https://nginx.org/download/nginx-1.10.3.tar.gz
3、创建nginx用户
useradd nginx -s /sbin/nologin -M
4、解压
tar -zxvf nginx-1.10.3.tar.gz
5、生成编译文件
cd nginx-1.10.3
./configure
6、编译
make
7、安装
make install
查看nginx安装目录:whereis nginx
9、进入nginx程序目录
cd /usr/local/nginx
10、监测语法
/usr/local/nginx/sbin/nginx -t
11、启动nginx
cd /usr/local/nginx/sbin
./nginx
监测端口:netstat -lntup|grep 80
监测进程:ps -ef | grep nginx
12、访问nginx
如果不能正常访问,查看错误日志cat /etc/local/nginx/logs/error.log报错: “/root/nginx/html/favicon.ico“ failed (13: Permission denied)
解决:
vi /usr/local/nginx/conf/nginc.conf
添加:user root;
然后重启nginx即可正常访问。
(参考:https://blog.csdn.net/u014176174/article/details/108529458)
13、nginx关闭与重启
cd /usr/local/nginx/sbin
./nginx -s stop 关闭
./nginx -s reload 重启
14、启用systemctl start nginx.service(Failed to start nginx.service:unit not found报错解决)
①在/root/etc/init.d/目录下新建文件,文件名为nginx:touch /etc/init.d/nginx
②编辑文件:vi /etc/init.d/nginx
③加入一下内容:
#!/bin/sh # nginx - this script starts and stops the nginx daemin # # chkconfig: - 85 15 # description: Nginx is an HTTP(S) server, HTTP(S) reverse \ # proxy and IMAP/POP3 proxy server # processname: nginx # config: /usr/local/nginx/conf/nginx.conf # pidfile: /usr/local/nginx/logs/nginx.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 nginx="/usr/local/nginx/sbin/nginx" prog=$(basename $nginx) NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" lockfile=/var/lock/subsys/nginx start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 echo -n $"Starting $prog: " daemon $nginx -c $NGINX_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $"Stopping $prog: " killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { configtest || return $? stop start } reload() { configtest || return $? echo -n $"Reloading $prog: " killproc $nginx -HUP RETVAL=$? echo } force_reload() { restart } configtest() { $nginx -t -c $NGINX_CONF_FILE } rh_status() { status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" exit 2 esac
④用命令进入此目录
cd /etc/init.d
⑤依此执行以下命令
chmod 755 /etc/init.d/nginx
chkconfig --add nginx (注意add前面是两个短横线-)
⑥测试:使用systemctl start nginx.service开启nginx
报错:
查看错误:systemctl status nginx.service
解决错误:
更改为./nginx方式启动
kill掉./nginx启动的进程,然后再换成systemctl start nginx.service方式启动即可
七、配置uwsgi、nginx,
1、配置uwsgi.ini
①在/opt/pro/script目录下创建uwsgi.ini文件:touch /opt/pro/script/uwsgi.ini
②添加内容:vi /opt/pro/script/uwsgi.ini
[uwsgi] http-socket = 192.168.1.63:8080 # 改成你自己服务器ip # 项目目录 chdir=/opt/pro/TSDRM/ # 启动uwsgi的用户名和用户组 uid=root gid=root # 指定项目的application module=TSDRM.wsgi # 指定sock的文件路径 socket=/opt/pro/script/uwsgi.sock # 启用主进程 master=true # 进程个数 workers=5 pidfile=/opt/pro/script/uwsgi.pid # 自动移除unix Socket和pid文件当服务停止的时候 vacuum=true # 序列化接受的内容,如果可能的话 thunder-lock=true # 启用线程 enable-threads=true # 设置自中断时间 harakiri=1800 # 设置缓冲 post-buffering=1024 # 设置日志目录 daemonize=/opt/pro/script/uwsgi.log
注意项目的名称和路径,按照以上方式操作,只需要修改IP:
③启动uwsgi
cd /opt/pro/script
执行:uwsgi --ini uwsgi.ini
启动成功。
可以使用ps -ef | grep uwsgi命令查看:
uwsgi开启成功。
停止uwsgi:uwsgi --stop uwsgi.pid(必须在/opt/pro/script目录下执行,因为在uwsgi.ini中指定了uwsgi.pid路径)
2、配置nginx的配置文件
vi /usr/local/nginx/conf/nginx.conf(注意nginx配置文件路径是否正确)
user root;
worker_processes 1; error_log /usr/local/nginx/logs/error.log warn; pid /usr/local/nginx/logs/nginx.pid; events { worker_connections 1024; } http { include /usr/local/nginx/conf/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"'; access_log /usr/local/nginx/logs/access.log main; sendfile on; keepalive_timeout 65; server { listen 80; server_name 192.168.1.63; access_log /usr/local/nginx/logs/access.log main; charset utf-8; gzip on; gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php application/json text/json image/jpeg image/gif image/png application/octet-stream; error_page 404 /404.html; error_page 500 502 503 504 /50x.html; # 指定项目路径uwsgi location / { include uwsgi_params; uwsgi_pass unix:/opt/pro/script/uwsgi.sock; uwsgi_send_timeout 1800;
uwsgi_connect_timeout 1800; uwsgi_read_timeout 1800; } # 指定静态文件路径 location /static/ { alias /opt/pro/TSDRM/static/; index index.html index.htm; } } }
以上配置完成,按照以上方式操作,只需要修改IP:
开启nginx:systemctl start nginx.service
可以使用ps -ef | grep nginx命令查看:
nginx开启成功。
停止nginx:systemctl stop nginx.service
八、静态文件
settings.py文件中写入静态文件物理路径(已经写了):
SITE_ROOT=os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')
STATIC_ROOT = os.path.join(SITE_ROOT,'static')
①收集静态文件:在项目目录下执行:python3 manage.py collectstatic
②注销掉物理路径:# STATIC_ROOT,#SITE_ROOT
③添加静态文件访问逻辑路径:STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
④重新启动nginx与uwsgi
九、访问项目
成功访问。
注意:如果不能正常访问项目,则nginx配置的有问题或者是uwsgi配置的有问题:查看nginx错误日志:cat /usr/local/nginx/logs/error.log,uwsgi错误日志:cat /opt/pro/script/uwsgi.log。
十、安装supervisor启动celery后台进程
1、 先创建日志文件
touch /opt/pro/script/log/beat.log
touch /opt/pro/script/log/celerylog.log
touch /opt/pro/script/log/flower.log
如下:
2、安装supervisor
①在线安装supervisor
pip3 install supervisor -i https://pypi.tuna.tsinghua.edu.cn/simple/
②离线安装supervisor
本地下载以下2个安装包:
https://pypi.org/project/meld3/2.0.0/#files
https://pypi.org/project/supervisor/4.0.1/#files
下载之后上传服务器并解压,进入目录里,进行安装:python3 setup.py install(注意:这里先安装meld3,安装成功之后再安装supervisor)
3、做软连接
ln -s /usr/local/python3/bin/echo_supervisord_conf /usr/bin/echo_supervisord_conf
ln -s /usr/local/python3/bin/supervisorctl /usr/bin/supervisorctl
ln -s /usr/local/python3/bin/supervisord /usr/bin/supervisord
4、生成配置文件
cd /usr/local/python3/bin/
执行:echo_supervisord_conf > /etc/supervisord.conf
5、修改配置文件
vi /etc/supervisord.conf
加入以下开启worker、beat、flower的命令:
[program:celery.worker] command=python3 manage.py celery -A TSDRM worker -l info # 开启worker directory=/opt/pro/TSDRM/ numprocs=1 stdout_logfile=/opt/pro/script/log/celerylog.log # celerylog日志文件,前面我们已经创建好了 stderr_logfile=/opt/pro/script/log/celerylog.log autostart=true autorestart=true startsecs=10 stopwaitsecs=600 priority=16 [program:celery.beat] command=python3 manage.py celery -A TSDRM beat -l info # 开启beat directory=/opt/pro/TSDRM/ numprocs=1 stdout_logfile=/opt/pro/script/log/beat.log # beat日志文件 stderr_logfile=/opt/pro/script/log/beat.log autostart=true autorestart=true startsecs=10 stopwaitsecs = 600 priority=17 [program:celery.flower] command=python3 manage.py celery -A TSDRM flower -l info # 开启flower directory=/opt/pro/TSDRM/ numprocs=1 stdout_logfile=/opt/pro/script/log/flower.log # flower日志文件 stderr_logfile=/opt/pro/script/log/flower.log autostart=true autorestart=true startsecs=10 stopwaitsecs = 600 priority=18
6、启动supervisord
supervisord -c /etc/supervisord.conf
7、查看supervisord进程信息
ps -ef | grep supervisord
发现进程已开启。那么我们查看celery进程信息
ps -ef | grep celery
发现worker、beat、flower都开起了。
然后使用192.168.1.63:5555查看flower:web页面正常访问,那么我们的celery开启成功。
问题:worker不能正常开启:执行开启worker的命令报错:
(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.
解决:
cd /usr/local/redis/bin
./redis-cli -a tesunet
执行命令:config set stop-writes-on-bgsave-error no
(参考:https://blog.csdn.net/qq_37674858/article/details/85066374)
十一、安装wkhtmltopdf
1、安装环境
yum install libXrender libXext fontconfig -y
2、下载wkhtmltopdf安装包
3、解压
tar vxf wkhtmltox-0.12.3_linux-generic-amd64.tar.xz
4、复制
cp wkhtmltox/bin/wk* /usr/local/bin/
5、做软连接
ln -fs /usr/local/bin/wkhtmltopdf /usr/bin
6、测试是否安装成功(如果不能连接外网,执行此项会报错,可以直接在项目中下载报表进行测试)
wkhtmltopdf http://www.baidu.com ./test.pdf
下载到本地,打开查看:
发现是乱码的,需要安装下面的simsun.ttc字体。
6、安装simsun.ttc
把windows的C:\Windows\Fonts中的simsun.ttc:
复制到 linux系统的/usr/share/fonts路径下
再执行测试:wkhtmltopdf http://www.baidu.com ./test.pdf
无问题,安装成功。
测试项目中的下载功能:点击<巡检报告>中的下载,查看报表是否正常
打开报表,查看无问题。
十二、项目开启脚本
创建脚本文件:touch /opt/pro/script/manage_tsdrm
授予权限:chmod 755 /opt/pro/script/manage_tsdrm
编辑脚本写入一下内容:vi manage_tsdrm
#! /bin/sh # chkconfig: 345 85 15 # 上面一行注释:哪些Linux级别需要启动manage_teacher(3,4,5);启动序号(85);关闭序号(15)。 # description: manage script is the teacher daemon. # Author: luotianshuai # 指定项目目录 PROJECT_DIR="/opt/pro/TSDRM" # 指定脚本目录在哪里 SCRIPTS_DIR="/opt/pro/script" # 描述 DESC="TSDRM" # 名称 NAME="TSDRM" # 脚本名称 SCRIPT_FILENAME="manage_tsdrm.sh" # 脚本目录名称 SCRIPTNAME=`pwd`/$SCRIPT_FILENAME # PID PID="uwsgi.pid" # 启动函数 d_start(){ # 终止现有celery ps auxww | grep 'celery' | awk '{print $2}' | xargs kill -9 # 终止现有supervisord ps auxww | grep 'supervisord' | awk '{print $2}' | xargs kill -9 # 每次在执行此脚本时,都会在项目目录下生成以下两个pid文件,需要删除 rm -rf /opt/pro/TSDRM/celerybeat.pid /opt/pro/TSDRM/worker.pid /opt/pro/TSDRM/flower.pid # 进入到项目目录 cd $SCRIPTS_DIR # 判断这个PID是否存在 echo -e "\n\033[34m$NAME项目启动中........\033[0m" # 如果不存在执行 uwsgi --ini uwsgi.ini killall nginx systemctl start nginx.service #cd $PROJECT_DIR #python3 manage.py celery multi start worker -A TSDRM -l info --logfile=/opt/pro/script/log/celerylog.log&&\ #python3 manage.py celery multi start beat -A TSDRM -l info --logfile=/opt/pro/script/log/beat.log&&\ #python3 manage.py celery multi start flower -A TSDRM -l info --logfile=/opt/pro/script/log/flower.log # 开启supervisord后台进程:worker、beat、flower supervisord -c /etc/supervisord.conf echo -e "\n\033[32m$NAME 项目启动完成........\033[0m" exit 0 } # 关闭函数 # 关闭项目 d_stop(){ # 终止现有celery ps auxww | grep 'celery' | awk '{print $2}' | xargs kill -9 # 终止现有supervisord ps auxww | grep 'supervisord' | awk '{print $2}' | xargs kill -9 # 每次在执行此脚本时,都会在项目目录下生成以下两个pid文件,需要删除 rm -rf /opt/pro/TSDRM/celerybeat.pid /opt/pro/TSDRM/worker.pid /opt/pro/TSDRM/flower.pid # 进入脚本目录 cd $SCRIPTS_DIR # 判断这个pid文件是否存在 if [ ! -f "uwsgi.pid" ];then # 这个项目已经关闭了 echo -e "\n\033[33m$NAME 项目已经关闭了请先启动\033[0m" fi echo -e "\n\033[34m$NAME 项目关闭中........\033[0m" echo -e "\nStop $DESC: $NAME" # 如果没有关闭 uwsgi --stop uwsgi.pid # 是否停掉Nginx根据实际需要来操作~~!因为Nginx有对静态文件缓存[注意] killall nginx systemctl stop nginx.service echo -e "\n\033[32m$NAME 项目关闭完成........\033[0m" } d_restart(){ d_stop sleep 1 d_start } case "$1" in start) echo -e "\nstarting $DESC: $NAME" d_start ;; stop) echo -e "\nStop $DESC: $NAME" d_stop ;; restart) echo -e "\nRestart $DESC: $NAME" d_restart ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2 exit 3 ;; esac
cd /opt/pro/script
开启项目:./manage_tsdrm start
关掉项目:./manage_tsdrm stop
重启项目:./manage_tsdrm restart
十三、开启CommServ服务器的winrm服务
在CS服务器下的cmd窗口依次执行以下命令:
winrm quickconfig
winrm e winrm/config/listener
winrm set winrm/config/service/auth @{Basic="true"}
winrm set winrm/config/service @{AllowUnencrypted="true"}
winrm get winrm/config
开启之后,检查灾备基础框架中的红色区域数据是否正常显示,如不显示,查看<组件管理>中的组件<windows资源监控>,排查问题,解决问题。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现