centos7下部署Django

参考网站:http://wendan.gerrywen.com/index.php?s=/14

##nginx+uwsgi+python3+django

python3安装

一、首先,官网下载python3的所需版本。

  1. wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

想下载到那个文件夹下就先进入到那个文件夹下——cd /software

二、然后,解压缩文件

  1. tar -xvf Python-3.6.5.tgz

三、创建安装文件的路径。

  1. mkdir /usr/local/python3

四、编译。

  1. cd Python-3.6.5
  2. ./configure --prefix=/usr/local/python3

五、安装。

  1. 1make
  2. 2make install
  3. 3、完毕

六、创建新版本的软连接。

1、修改旧版本

  1. mv /usr/bin/python /usr/bin/python_bak

2、创建新的软连接

  1. ln -s /usr/local/python3/bin/python3 /usr/bin/python

3、检查python的版本

  1. python -V
  2. python-3.6.5

软连接创建成功

七、配置成功后,pip3用不了,需进一步配置。进入vim /etc/profile

  1. 1export PATH=$PATH:$HOME/bin:
  2. 2export PATH=$PATH:$HOME/bin:/usr/local/python3/bin
  3. 3source /etc/profile 完成

这时pip3就可以使用了。根据自己情况可以选择升级pip3

  1. pip3 install --upgrade pip

继续阅读“centos7下部署Django”

Linux 使用crontab定时备份Mysql数据库

参考网址:https://yq.aliyun.com/articles/7254

首先查看服务器是否安装 crontab

crontab

执行 crontab 命令如果报 command not found,就表明没有安装

安装 crontab

yum install -y vixie-cron

看是否设置了开机自动启动

chkconfig –list crond

启动该服务

crontab

编辑SH文件

#!bin/sh

一.文件名称为当天时间

time=`date ‘+%y-%m-%d %H:%M:%S’`

echo $time echo ‘开始备份数据库..’

二.数据库配置信息

user=数据库用户名

passwd=数据库密码

dbname=数据库名称

mysql_back_path=数据库备份到哪里

三.数据库配置信息 

mysqldump -u $user -p$passwd $dbname > $mysql_back_path/$time.sql

echo ‘数据库备份完成’

保存运行 查看文件是否存在 然后crontab -e

添加任务 时间为每晚12点
*/1 * * * * /bin/sh /home/back.sh

查看测试任务是否存在crontab -l

以上执行结果如果发现数据库为空的话,解决的方法:
1.执行find / -name mysqldump 找到你Linux服务器上面数据库备份位置
2.数据库配置信息中mysqldump改为绝对路径/alidata/server/mysql-5.5.40/bin/mysqldump

Lua在 Linux、Mac OS X 上搭建环境

参考网址:https://segmentfault.com/a/1190000007443162
一、安装依赖的软件包yum install readline-devel pcre-devel openssl-devel gcc
到 LuaJIT 官网 http://luajit.org/download.html,查看当前最新开发版本,例如笔者写书时的最新版本:http://luajit.org/download/LuaJIT-2.1.0-beta1.tar.gz

# wget http://luajit.org/download/LuaJIT-2.1.0-beta1.tar.gz # tar -xvf LuaJIT-2.1.0-beta1.tar.gz # cd LuaJIT-2.1.0-beta1 # make # sudo make install如果现实报错:

==== Building LuaJIT 2.1.0-beta1 ====

make -C src

make[1]: gcc: Command not found

make[1]: Entering directory `/lua/LuaJIT-2.1.0-beta1/src’

make[1]: gcc: Command not found

make[1]: gcc: Command not found

make[1]: gcc: Command not found

make[1]: gcc: Command not found

make[1]: gcc: Command not found

Makefile:237: *** Unsupported target architecture.  Stop.

make[1]: Leaving directory `/lua/LuaJIT-2.1.0-beta1/src’

make: *** [default] Error 2

先去查看有没有rpm -qa |grep gcc

libgcc-4.8.5-11.el7.x86_64

gcc-4.8.5-11.el7.x86_64                    #如果没有gcc

libgcc-4.8.5-11.el7.i686

如果没有gcc  就安装: yum  install  gcc

再cd  /lua/LuaJIT-2.1.0-beta3中运行

# make

# sudo make install

再执行软连接 ln -sf luajit-2.1.0-beta3 /usr/local/bin/luajit   才能执行luajit指令

验证 LuaJIT 是否安装成功

# luajit -v LuaJIT 2.1.0-beta1 — Copyright (C) 2005-2015 Mike Pall. http://luajit.org/

第一个“Hello World”

安装好 LuaJIT 后,开始我们的第一个 hello world 小程序。首先编写一个 hello.lua 文件,写入内容后,使用 LuaJIT 运行即可。

# cat hello.lua

print(“hello world”)

# luajit hello.lua

hello world

ThinkPHP搭建到服务器出现的问题记录

  • 问题一: _STORAGE_WRITE_ERROR_:./Application/Runtime/Cache/Home/f8995a0e1afcdadc637612fae5a3b585.php
    • 解决方案对 Runtime 文件夹设置 777 权限
    • 解决方法:sudo chmod -R 777 Runtime

 

  • 问题二: FILE: /www/ThinkPHP/Library/Think/Image/Driver/Gd.class.php  LINE: 49
    • 解决方法:chmod -R 777 aaa   给文件夹下面子文件夹所有权限就行了

Linux常用指令(vi编辑器)

查看目录下有什么文件信息
> ls          //list查看当前目录下有什么文件
> ls  -l 或ll     //list  -list 通过详细内容形式查看目录下的文件内容
> ls  目录    //查看指定目录下文件名字信息
> ls  -l 目录  //以详细列表形式查看指定目录下文件名字信息
> ls  -a      //list  all 查看全部文件,包括隐藏文件
> ls  -al     //list  list all 以详细列表形式查看全部文件,包括隐藏文件
> ls  -i      //查看目录下文件名字的索引号码
2. 目录切换
> cd   目录名字
> cd   ..       //向上级目录切换
> cd  ~         //快速切换回自己的家目录
3. 查看当前操作位置
> pwd
4. 查看操作者信息(是谁在操作系统)
> whoami
5. 不同用户间的切换
> su –              //切换为root用户
> su –  root        //效果同上
> su  普通用户名称  //向普通用户切换
exit        //当前用户退回到之前用户
su多次使用,用户会“累加”,建议“su” 和 “exit”匹配使用
jinnan—>root—>jinnan—>root—>jinnan
6. 图形模式与命令模式进行切换
># init 3     //图形 向 命令模式切换
># init 5     //命令 向 图形模式切换
7. 查看指令对应的可以执行程序文件位置
> which  指令
8. 目录操作
1)创建目录  make  directory
> mkdir  newdir
> mkdir -p newdir/newdir/newdir     //递归方式创建多级目录
newdir新目录多于1个层次(2/3/4等)就设置-p参数,如果就一个新的目录则无需-p参数
> mkdir  dir/newdir
> mkdir  dir/dir/newdir
> mkdir -p dir/newdir/newdir
2) 移动(改名字)目录  move
(目录/文件 都可以操作)
> mv  dir1  dir2                //dir1移动到dir2目录下,并给改名字为”原名”
> mv  dir1  dir2/newdir         //dir1移动到dir2目录下,并给改名字为newdir
> mv  dir1/dir2  dir3/dir4      //dir2移动到dir4目录下,并给改名字为”原名”
> mv  dir1/dir2  dir3/dir4/newdir  //dir2移动到dir4目录下,并给改名字为 newdir
> mv  dir1/dir2  ./             //dir2移动到 当前 目录下,并给改名字为”原名”
> mv  dir1/dir2  ./newdir           //dir2移动到 当前 目录下,并给改名字为newdir
3) 复制(改名字)目录  copy
(目录/文件 都可以操作)
//① 复制普通文件
> cp  file1  dir1             //file1被复制到dir1目录下一份,并给改名字为“原名”
> cp  file1  dir1/newfile     //file1被复制到dir1目录下一份,并给改名字为newfile
//② 复制目录 -r参数要求
//recursive递归方式拷贝目录
> cp -r dir1  dir2            //dir1被复制到dir2目录下一份,并给改名字为“原名”
> cp -r dir1  dir2/newdir     //dir1被复制到dir2目录下一份,并给改名字为newdir
> cp -r dir1/dir2/dir3   dir4/dir5  //dir3被复制到dir5目录下一份,并给改名字为”原名”
4) 删除 remove
> rm  filename      //普通文件删除
> rm -r dir         //删除目录[无视层次]需要-r参数
> rm -rf  文件      //recursive force 递归强制删除文件
//force 避免删除隐藏文件的提示
> rm -rf  /         //递归强制方式删除系统里边的全部内容
9. 文件操作
1) 查看文件内容
> cat  filename     //在终端显示文件全部内容
> more filename     //通过”敲回车”方式从第一行逐行查看文件内容
//不支持回看
//q键 退出查看
> less filename     //”上下左右”键方式查看文件各个部分内容
//支持回看,q键 退出
> head  -n  filename  //查看文件“前n行”内容
> tail  -n  filename  //查看文件“末尾n行”内容
> wc  filename      //计算文件行数
2) 创建文件
> touch  filename
> touch  dir/filename
3) 追加内容(文件不存在会“自动”创建)
> echo  内容 > filename    //给文件“覆盖写”方式追加内容
> echo  内容 >> filename   //给文件纯追加内容
10. 用户操作
user,配置文件/etc/passwd
1) 创建 add
># useradd  username                //创建用户会同时创建同名组
># useradd  -g  组编号   username     //创建用户的同时设置组别
># useradd  -g 组编号 -u 用户编号 -d 家目录 username
//创建用户同时,指定组别、用户编号、家目录
2) 修改 modify
># usermod  -g gid  username     //修改组别是常见操作
># usermod  -g gid -u uid -d 家目录  -l  newname   username           //修改组别、用户编号、家目录、名字
注意:家目录修改后需要手动创建,不同于创建用户家目录设置
创建用户时设置家目录,该目录会自动创建
修改用户家目录时,该目录不会自动创建(需要手动创建)
3) 删除 delete
># userdel username     //删除用户(删除passwd文件对应信息),此时其家目录需要手动删除
># userdel -r username  //删除用户的同时也删除其“家目录”
11. 组别操作
group, 配置文件/etc/group
1) 创建 add
># groupadd  groupname
2) 修改 modify
># groupmod -g gid  -n newname  groupname
3) 删除 delete
># groupdel 组名
//注意:只有空组(内部没有用户信息)才允许删除
12. vi编辑器使用
1) 命令模式–>编辑模式切换(插入/Insert)
a “光标” 向后移动一位
i “光标” 和 “内容” 没有变化
o “新”起一个空白行
s “删除”光标所在字符
2) 尾行模式作用
:q      quit退出编辑器
:wq     write quit 保存并退出
:w      write 保存
:q!     强制退出(不要保存)
:w!     强制写保存
:wq!    强制保存退出
:set number 或 set nu           //给编辑器设置行号
:set nonumber 或 set nonu       //取消行号设置
:数字   光标跳转到数字所在行
:/内容/  或 /内容         //内容查找,小写n(next)下一个
大写N(next)上一个
内容替换 “cont1″被替换为”cont2”
:s/cont1/cont2/         //把光标所在行的”第一个”cont1替换为cont2
:s/cont1/cont2/g        //把光标”所在行”的全部cont1替换为cont2
:%s/cont1/cont2/g       //把”整个文档”中的全部cont1替换为cont2
3) 命令模式操作
① 光标移动
a. 字符级
上(k)  下(j)  左(h)  右(l) 键
b. 单词级
w  word下个单词首字母
e  end下(本)个单词尾字母
b  before上(本)个单词首字母
c. 行级
$ 行尾
0 行首
d. 段落级(两部分内容中间有空行,彼此成为段落)
{  上(本)个段落首部
}  下(本)个段落尾部
e. 屏幕级(不给翻屏)
H  屏幕首部
L  屏幕尾部
f. 文档级
G   文档尾行
1G  文档第一行
nG  文档第n行
② 内容删除
dd      删除光标所在行
n+dd    包括当前行在内向下删除n行内容
x       字符级删除,删除光标所在字符
cw      光标所在字符删除至单词结尾(是删除单词的便捷方式)
同时会进入编辑模式
③ 内容复制
yy      复制光标所在行
n+yy    包括当前行在内向下复制n行内容
p       对复制(删除)好的内容进行粘贴操作
④ 便捷操作
u       undo撤销,从文件打开后的所有操作都可以撤销
r       对单词字符进行替换
.       重复执行”最近”的一条指令
J       合并上下两行
13. 权限设置
1) “字母相对方式”设置权限
权限: r读 w写 x执行
用户: u主人  g同组  o其他组
chmod  u+/-rwx, g+/-rwx, o+/-rwx  文件
不同用户通过”,逗号”分隔
在同一个用户里边,+/-只能用“一个”
“rwx”在同一个用户里边可以设置一个或多个
“ugo” 每次权限操作可以设置一个或多个用户
>chmod u+rw  filename        //主人增加读、写
>chmod g-rx  filename        //同组删除读、执行
>chmod u-w,g+x filename      //主人删除写,同组增加执行
>chmod o+w,o-x  filename     //其他组用户“增加写、删除执行”
2) “数字绝对方式” 设置权限
读:4    写:2   执行:1
权限类型:
0:  没有权限
1:  执行
2:  写
3:  写、执行
4:  读
5:  读、执行
6:  读、写
7: 读、写、执行
chmod  ABC  filename   //ABC分别代表主人、同组、其他组用户权限
>chmod 764  filename   //主人读、写、执行,  同组读、写,    其他读
>chmod 777  filename   //满贯权限
>chmod 000  filename   //所有用户没有任何权限
字母和数字方式取舍:
权限修改的比较”少”,就使用字母方式
权限修改的比较”多”,就使用数字方式
14. 在文件中查找指定内容
grep  内容  (绝对/相对路径)目标文件
> grep  sbin  /etc/passwd       //在passwd文件中查找sbin字样,会把sbin所在行的内容都输出
15. 查看文件占据磁盘空间大小
du -h   文件/目录
> du -h  文件名称      //以k M的形式查看文件占据磁盘空间大小
16. 文件查找
find  现值查找目录  选项  选项值  选项 选项值….
具体选项:
① name 根据文件名字查找指定的文件
find  目录  -name  完整文件名称
> find  /  -name  passwd[完整名称]    //”递归遍历”系统全部目录查找名字等于passwd的文件
> find  /etc  -name passwd[完整名称]   //递归遍历/etc及内部所有目录查找  名字等于passwd的文件
>find  目录 -name  “an*”[部分名称]     //模糊查找文件名字以an开始的
② 对查找的目录层次进行限制
-maxdepth  限制查找的最”深”层次
-mindepth  限制查找的最”浅”层次
> find / -name passwd -mindepth 3 -maxdepth 4   //在3到4个层次的目录里边定位passwd文件
③ 根据文件大小进行查找
size   单位
> find ./  -size  50c      //在当前目录下查找大小[等于]50个字节的文件
单位:
数量         单位      实际大小
100 ——-> 512字节:【100*512字节】
50c ——-> 字节 :   【50字节】
50k ——-> 千字节: 【50*1024字节】
50M ——-> 兆字节    【50*1024*1024字节】
> find  ./  -size  +50c    //在当前目录下查找大小[大于]50个字节的文件
> find  ./  -size  -50c    //在当前目录下查找大小[小于]50个字节的文件
17. 开关机指令
># reboot    //重启
># poweroff  //关机

CentOS7.2配置LNMP环境记录

参考网址1:http://www.jb51.net/article/97754.htm
参考网址2:http://blog.csdn.net/ul646691993/article/details/52104082
本机环境:服务器是阿里云ECS;使用的镜像是:公共镜像 CENTOS 7.2 
一.nginx安装
1.下载对应当前系统版本的nginx包(package)
wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
2.建立nginx的yum仓库(默认yum是没有nginx的)
rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
3.下载并安装
nginx yum install nginx
4.nginx启动(nginx安装目录下-/usr/sbin/)
systemctl start nginx.service
ps:一些其它nginx相关命令:nginx相关配置文件: 默认的配置文件在 /etc/nginx 路径下,使用该配置已经可以正确地运行nginx; 如需要自定义,修改其下的 nginx.conf 等文件即可;在浏览器地址栏中输入部署nginx环境的机器的IP,如果一切正常,应该能看到如下字样的内容。
Welcome to nginx!If you see this page, the nginx web server is successfully installed andworking. Further configuration is required.For online documentation and support please refer tonginx.org.Commercial support is available atnginx.com.Thank you for using nginx.
第二步:MYSQL安装
1.先下载mysql的repo源;相关命令:
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
2.安装mysql-community-release-el7-5.noarch.rpm包(安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo)
rpm -ivh mysql-community-release-el7-5.noarch.rpm
3.安装MYSQL
sudo yum install mysql-server
4.重置密码
更改用户权限:
sudo chown -R root:root /var/lib/mysql
重启服务:
systemctl restart mysql.service
5.登录,并修改密码:
①mysql -u rootmysql> show databases;
②mysql > use mysql; mysql > update user set password = password(‘123456’) where user = ‘root’;
以下这步设置允许远程访问,但是设置完可能localhost就没了
③mysql > GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;
④mysql > update user set host = ‘%’ where user = ‘root’;
提示错误没事:ERROR 1062 (23000): Duplicate entry ‘%-root’ for key ‘PRIMARY’
⑤mysql > select *from user;
如果是7条就没错了,7 rows in set (0.00 sec)
保守点再查询下localhost和%是不都存在,密码也存在,确定存在再退出MySQL
⑥mysql > exit; 继续阅读“CentOS7.2配置LNMP环境记录”

LAMP环境pdo_mysql库和gd库安装

一、安装pdo_mysql

  • 参考网址 http://blog.csdn.net/qiufengwuqing123/article/details/53707008
  • 进入: cd /php-7.0.12/ext/
  • 进入到pdo_mysql目录: cd  pdo_mysql/
  • 先执行指令phpize:   /usr/local/php/bin/phpize
  • 执行 ./configure –with-php-config=/usr/local/php/bin/php-config -with-pdo-mysql=/usr/local/mysql
  • 其中 这一步要”-with-pdo-mysql=mysql安装目录”,这个参数一定要写正确路径,以防下面报错
  • #make
  • #make test(这一步有可能提示警告,直接忽略)
  • #make install
  • 成功后会在/usr/local/php/lib/php/extensions/no-debug-zts-20151012/目录下生成pdo_mysql.so文件
  • cd  /usr/local/php/lib/php/extensions/no-debug-zts-20151012
  • ls  看到pdo_mysql.so  说明已经成功安装pdo_mysql.so扩展了,接下来要配置php.ini文件
  • 进入配置php.ini文件 cd /usr/local/php/lib/                     我的php.ini是在vim /etc/php.ini
  • 添加 extension= /usr/local/php/lib/php/extensions/no-debug-zts-20151012/pdo_mysql.so
  • 重启apache服务 /usr/local/apache/bin/apachectl restart

二、安装gd库

  • extension=/usr/local/php/lib/php/extensions/no-debug-zts-20151012/gd.so
  • 拓展的位置
  •     /usr/local/php/lib/php/extensions/no-debug-zts-20151012/
  •     /usr/local/php/include/php/
  • ./configure –with-php-config=/usr/local/php/bin/php-config  –with-jpeg-dir=/usr/local/jpeg/  –with-png-dir=/usr/local/libpng/   –with-freetype-dir=/usr/local/freetype/
  • 前提是确定安装好jpeg   libpng  没有的话会报错,就按着提供网址里面有教程
  • whereis phpize  找找phpize在哪里
  • 我的phpize位置在 /usr/local/php/bin/phpize
  • http://blog.feehi.com/php/239.html
  • http://www.cnblogs.com/nikolatesfei/p/6220889.html
  • yum -y install php-gd
  • 重新启动apachce服务以使安装后的GD库生效
  • 不安装thinkphp验证码刷不出来
  • centos中gd库开启
  • 安装gd库参考的网址
  • 具体步骤如下
  • 进入下载的php-7.0.12源码目录,进入ext扩展目录,进入gd目录
  • 使用phpize生成configure配置脚本
  • 运行phpize生成的configure脚本,并指定php-config的位置
  • .编译并安装   make && make install
  • 去php.ini下开启这个扩展就可以了,如果有这行的话,直接去掉;注释,没有的话就在配置扩展目录区域写上
  • 重启Apache        /usr/local/apache/bin/apachectl restar

三、开启curl库

  •  /usr/local/php/lib/php/extensions/no-debug-zts-20151012/
  • 去php.ini下开启这个扩展就可以了,如果有这行的话,直接去掉;注释,没有的话就在配置扩展目录区域写上
  • extension=/usr/local/php/lib/php/extensions/no-debug-zts-20151012/curl.so
  • 重启Apache        /usr/local/apache/bin/apachectl restart
  • 参考网址1:http://blog.csdn.net/qiufengwuqing123/article/details/53706884
  • 参考网址2:http://www.osyunwei.com/archives/9254.html
  •  cd /usr/local/src/
  • wget http://curl.haxx.se/download/curl-7.44.0.tar.gz
  • tar zxvf curl-7.44.0.tar.gz
  • cd curl-7.44.0
  • ./configure –prefix=/usr/local/curl –with-gssapi –enable-tls-srp –with-libmetalink
  • make
  • make install
  • cd /php-7.0.12/ext/curl
  • /usr/local/php/bin/phpize
  • ./configure –with-php-config=/usr/local/php/bin/php-config –with-curl=/usr/local/curl/
  • .编译并安装   make && make install
  • 拓展的位置

阿里云centOS7.2+LAMP环境搭建

一.阿里云环境搭建参考网址:
参考网址1:http://blog.csdn.net/fireblue1990/article/details/54603496
参考网址2:http://www.linuxidc.com/Linux/2017-02/141170.htm
以上我是使用第二个教程的搭建,具体可以点击进去查看,我这边记录环境搭建可能出现问题,避免大家再走坑。
问题一:

  1. 有个地方配置PidFile路径,先不要配置,回头其他也配置完再来设置
  2. 设置PidFile路径vim /etc/httpd/httpd.conf
  3. 在配置文件最后添加以下内容: PidFile”/var/run/httpd.pid”

问题二:安装mysql的时候,以下几步不要按网址里面的,替换成以下的得路径

  1. 将/usr/local/mysql/bin/mysqld –initialize-insecure –datadir=/usr/local/mysql/data/–user=mysql替换成/usr/local/mysql/bin/mysqld –initialize-insecure –user=mysql –datadir=/usr/local/mysql/data/

问题三:mysql报错解决的网址 http://www.bubuko.com/infodetail-1942640.html

  1. 原操作系统存在mariadb包,启动时报错如下:2017-02-13T03:33:09.721333Z mysqld_safe Logging to ‘/var/log/mariadb/mariadb.log‘2017-02-13T03:33:09.748968Z mysqld_safe error: log-error set to ‘/var/log/mariadb/mariadb.log‘, however file don‘t exists. Create writable for user ‘mysql‘.
  2. 解决方法:[root@localhost mysql]# rpm -e –nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

二.阿里云站点配置

  • 站点:cd /usr/local/apache/htdocs/
  • 配置文件:vim /etc/httpd/httpd.conf
  • 取消配置中的/etc/httpd/extra/httpd-vhosts.conf前面的#号,才能配置更多虚拟主机
  • 进入vim /etc/httpd/extra/httpd-vhosts.conf
  • 示例
    •     ServerAdmin webmaster@dummy-host.example.com
    •     DocumentRoot “/usr/local/apache/docs/dummy-host.example.com”
    •     ServerName dummy-host.example.com
    •     ServerAlias www.dummy-host.example.com
    •     ErrorLog “logs/dummy-host.example.com-error_log”
    •     CustomLog “logs/dummy-host.example.com-access_log” common
  • 重启apache服务
    • /usr/local/apache/bin/apachectl restart