Q&A
Q:输入supervisorctl。提示unix:///soft/run/supervisor.sock no such file?
A:输入supervisord启动服务
Q: supervisorctl start xxxx, 提示 xxxxx: ERROR (spawn error)
A:
=======第一种可能=======
检查环境变量是否正常加载。environment字段,我的由于python变量未定义导致过这个问题
[program:xxx]
directory=/soft/xxx/
command=uwsgi --ini /soft/xxx/uwsgi.ini
autostart=false
autorestart=false
redirect_stderr=true
stdout_logfile=/soft/log/supervisord/xxx.log
stderr_logfile=/soft/log/supervisord/xxx.err
environment=PYTHONPATH=/usr/lib/python2.7/site-packages
stopsignal=QUIT
=======第二种可能=======
端口被占用。例如8000端口
$lsof -i:8000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 967 root 8u IPv4 9380 0t0 TCP *:irdmi (LISTEN)
nginx 1107 nobody 8u IPv4 9380 0t0 TCP *:irdmi (LISTEN)
如果有,执行kill PID 命令
$kill 967
再次启动项目恢复正常
======更多可能======
查看配置中stdout_logfile所指定的log文件,一般后两行可以看出原因。
Q: git 仓库创建
A:git init -bare xxxx.git //创建空仓库
chown -R git:git xxxx.git //更改所有者为git,否则无法提交git push
持续更新中。。。。
注册微信公众号
待补充
购买阿里云ECS服务器
待补充
配置服务器开发环境
安装nginx
$yum install wget
$wget http://nginx.org/download/nginx-1.4.2.tar.gz //可以到官网更改为最新版本
$tar -zxvf nginx-1.4.2.tar.gz
$cd nginx-1.4.2
$./configure
$make
$make install
$ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx //建立软链接,方便直接使用nginx命令。
$nginx -s start //启动nginx
$nginx -s reload //重启nginx
$nginx -s stop //停止nginx
开启端口
$iptables -I INPUT -p tcp --dport 8088 -j ACCEPT
$service iptables save
$service iptables restart
前往阿里云后台设置增加安全组规则,端口设置为8088
增加安全组规则截图
更改nginx.conf 监听8088端口,设置root目录
$vi /usr/local/nginx/conf/nginx.conf
阅读nginx.conf文件,按i键,将server 中的listen 后面的80改为8088,location下面的root后面的路径改为项目跟目录。按esc按钮
$:wq
$nginx -s reload
django 基本项目会用到sqlite3,安装
$wget http://www.sqlite.org/sqlite-autoconf-3070500.tar.gz
$tar xvzf sqlite-autoconf-3070500.tar.gz
$cd sqlite-autoconf-3070500
$make && make install
升级python版本到2.7+
$wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz
$tar -zxvf Python-2.7.2.tgz
$cd Python-2.7.2
$./configure --prefix=/usr
$make&&make install
升级pip,否则会报错(pkg_response not found)
$curl -O http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg
$sh setuptools-0.6c11-py2.7.egg
$easy_install pip
安装django框架
$easy_install django //或者pip install django
测试django是否安装成功
$python
Python 2.7.2 (default, Jul 30 2016, 19:40:32)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.VERSION
(1, 11, 7, u'final', 0)
配置微信公号号服务器
公众号平台后台-》基本配置
安装uwsgi
$pip install uwsgi
$uwsgi --version
2.0.15(可能会不同)
使用supervisor守护程序
supervisor是什么?为何要使用?
nginx 服务器配置
server {
listen 80; //nginx 监听端口(其他端口可以通过nginx反向代理实现)
server_name localhost; //机器备案域名,代替ip地址
charset utf-8; //编码UTF-8,提高可读性
access_log /path to your project/access_log; //nginx 运行日志(路径文件夹需自己创建,文件会自动生成)
error_log /path to your project/error_log; //nginx 异常日志(路径文件夹需自己创建,文件会自动生成)
client_max_body_size 25M; //最大上传文件大小,根据需要自行调整
//nginx反向代理端口,django server
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8088;
//uwsgi_params 根据需求调整,见附录
}
//多媒体资源
#location /media {
# alias /path to your project/media; //所有多媒体资源存放路径
#}
//静态资源
location /static {
alias /root/project/hello/static;//所有静态文件在这里(图片啥的)
}
}
yum install libxslt-devel libxml2-devel(gcc cu ou)
yum install lxml
安装数据库(mysql)
方法一:安装包安装
参考mysql官方教程
启动:sudo mysql.server start
停止:sudo mysql.server stop
重启:sudo mysql.server restart
方法二:brew 安装
安装:brew install mysql
启动:sudo mysql start
停止:sudo mysql stop
重启:sudo mysql restart
创建数据库(mysql)
sqlite3存在中文编码问题,目前未找到解决方案
mysql -uroot -p
show databases; //查看所有数据库
SHOW VARIABLES LIKE 'character%'; //查看数据库编码类型
CREATE DATABASE IF NOT EXISTS my_db default charset utf8 COLLATE utf8_general_ci; //COLLATE utf8_general_ci 排序时根据utf8排序
create database xxxx character set utf8; //创建数据库并设备编码utf8,解决中文 ??? 乱码的问题,建议使用这种方式创建
alter database mydb character set utf8; //针对已经存在的数据库更改字节编码类型
也可以在修改 /etc/my.cnf文件
alter table mydb change nickname nickname varchar(32) character set utf8 not null;
[mysqld]
default-character-set=utf8
character_set_server=utf8
这样会更改整个个mysql的编码类型
这样操作之后重启数据库即可,注意只对新建的数据库生效
django setting 设置数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'xxxx',
'USER':'root',
'PASSWORD':'123456',
'HOST':'',
'PORT':'',
}
}
修改数据库密码
MySQL -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
网友评论