日志

Ubuntu14.04 搭建 LNMP 环境

  • 环境

系统:Ubuntu 14.04.1 LTS

下面所有的安装都通过apt-get的方式,为了防止安装过程报错建议先执行一次更新

sudo apt-get update
  • MySQL安装

sudo apt-get install mysql-server mysql-client

安装期间会出现类似如下的Y/N选择,直接Y 回车即可(下同)

root@li568-33:/# sudo apt-get install mysql-server mysql-client
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libaio1 libdbd-mysql-perl libdbi-perl libmysqlclient18 libterm-readkey-perl
mysql-client-5.5 mysql-client-core-5.5 mysql-common mysql-server-5.5
mysql-server-core-5.5
Suggested packages:
libclone-perl libmldbm-perl libnet-daemon-perl libplrpc-perl
libsql-statement-perl tinyca mailx
The following NEW packages will be installed:
libaio1 libdbd-mysql-perl libdbi-perl libmysqlclient18 libterm-readkey-perl
mysql-client mysql-client-5.5 mysql-client-core-5.5 mysql-common
mysql-server mysql-server-5.5 mysql-server-core-5.5
0 upgraded, 12 newly installed, 0 to remove and 123 not upgraded.
Need to get 0 B/9,260 kB of archives.
After this operation, 96.5 MB of additional disk space will be used.
Do you want to continue? [Y/n]y

中途会出现新的界面设置MySQL的root用户密码

首先设置root密码:yourpassword
然后重复输入root密码:yourpassword

等安装结束后输入以下命令查看是否成功

mysql --version

正常会显示类似以下的版本信息,则安装完成

mysql  Ver 14.14 Distrib 5.5.43, for debian-linux-gnu (x86_64) using readline 6.3

mysql的配置文件在:/etc/mysql/my.cnf
例如:若要允许远程访问请注释my.cnf 的 bind_address 127.0.0.1

  • Nginx安装

阅读全文

日志

Ubuntu下通过Crontab设置计划任务

  • 简介

cron 是一个在指定时间执行指定任务的系统守护进程.

crontab是一个简单的文本文件,它包含一行行的指令,以及指定每行指令何时执行的时间参数.它通过特定的方式进行编辑,crontab中的每一行命令会在设定的时间由cron在后台执行.每个用户均有其独立的crontab文件,不管用户是否已经登录系统,crontab中的命令都会在规定的时间被执行.如果你的任务需要用到管理员权限(administrative privileges),你可以通过root的crontab创建你的计划任务.

  • 创建计划任务

为当前用户创建一个计划任务

crontab -e

如果你希望任务以管理员权限运行,将其加入到root的crontab下即可

sudo crontab -e

首次创建会要求你先选择默认的文本编辑器,自行决定. 如需更换编辑器可执行以下指令

select-editor

crontab文件类似这样,你可以根据指定的格式编辑添加你的crontab计划任务

# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
*/10 * * * * cd /var/www/test && python task.py >> ~/test.log

其中 */10 * * * * cd /var/www/test && python task.py >> ~/test.log 就是一个计划任务的全部配置

一条crontab的配置分为六段,其中前五段属于时间段,用于指定执行的时间,第六段属于命令段,用于指定要执行的命令.除了命令段以外,其他各段不能包含空格,段与段之间允许空格.

每段的意思如下:

分钟 (0-59), 小时 (0-23, 0 = 凌晨), 日 (1-31), 月 (1-12), 星期 (0-6, 0 = 星期日), 命令

多个时间值用逗号隔开,区间用横杠表示(例如 1-5),时间步长控制以斜杠标识,例如上面 */10 的写法是指每隔10分钟的意思,其等价于 0,10,20,30,40,50  (* 和 */1 等价).上面的crontab的意思是指每隔10分钟执行一次命令

“cd /var/www/test && python task.py >> ~/test.log”

终极例子

阅读全文