现在的位置: 首页 > 综合 > 正文

Linux系统下的VPS建站总结

2013年08月09日 ⁄ 综合 ⁄ 共 5159字 ⁄ 字号 评论关闭

 

想在VPS搭建个网站,于是花了点银子够买了个BurstNET的Linux VPS。 第一次用完全不知道方向,特别是在Windows系统上联机操作linux系统上的程序。 通过学习网上的教程、经验总结, 用了一个晚上基本能够建站了,  下面把方法流程记录下来,方便以后查询。

VPS(Virtual Private Server 虚拟专用服务器)技术

 

从销售商那里购得VPS使用权后, 你会得到VPS的地址,和SSH登录密码,有些厂商还有VPS控制面板,会附带帐号及密码。  根据提供的地址,可以访问到你的VPS面板,查看各项参数,及体验一些简单的功能,如查看文件系统,ping网速,备份等等。

 

面板提供的功能还是十分有限,要想更顺畅地操作你的虚拟专用服务器,你需要利用一些工具连上你的VPS,然后对其进行操作。我使用的是PUTTY (我看教程,首先看到它。据说还有些可视话的工具可以像远程桌面一样操作Linux系统,不过没去研究)。

 

putty一个在Window平台上远程登录Linux的小工具,这里提供了一个下载地址:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

打开putty后,首先进入他的登录界面

填写好主机地址后 就可以登录了。  进入后,发现讨厌的文字操作系统 出现了,是不是想起了DOS。 大多数命令都差不多, 只不过这个是linux下的命令。好, 慢慢研究putty的各项指令吧。

A.显示文件源代码
catooxx.php
没错, cat 是一个常用查看源代码的命令,优点是很方便很可爱,缺点是会直接刷刷刷显示所有源代码,文件太长只能看到屁股后面的那坨代码

B. 查看当前目录
pwd
pwd不是password,而是查看当前目录,会输出完整的路径

C. 更改目录 Change Directory (cd)
cd/path/to/directory/
有DOS基础的同学应该会淫荡的一笑吧,路径可以用相对也可以用绝对

D. 列出文件/子目录 Listing Files/SubFolders(ls)
ls
默认只显示文件名,你也可以带个参数玩,比如
ls-alh
带 -alh 输出会很爽… 自己试试, 大猫喜欢把 ls -alh 颜射为 ll
-a显示全部文件
-l比较详细的列表
-h人类能看懂的比如把1024显示为1K

E.帮助
命令 --help
任何命令后面带一个 –help 都会显示一个简洁版的帮助,记不住参数就查一下

F.获取远程文件 wget
wgethttp://ooxx.me/me.jpg
就会获取远程的me.jpg文件到当前目录,一般搬家的时候用这个
让服务器去获取另一个服务器的数据,速度会快的完全不像男人

G.压缩解压缩
unzipwordpress.zip
如果文件是zip形式的,比如刚从wordpress主站wget了一个压缩包过来,只需要输入unzip 文件名,就可以解压缩到当前目录了
tar-czvf ooxx.tar.gz *
把当前目录所有文件以tar命令打包为ooxx.tar.gz文件
-c创建
-z用gzip压缩方式
-v显示压缩过程
-f搞成一坨file
tar-xzvf ooxx.tar.gz
解压缩 ooxx.tar.gz 里的文件到当前目录
-x解压缩
-z用gzip压缩方式
-v显示压缩过程
-f搞成一坨file

H.执行某程序

Sh 文件名

有些系统 支持 ./文件名 的方式, 但是我买的这个vps似乎不支持, 我在这个问题上卡了很久,看着别人教程上的代码,我这里就是不执行。  最终发现了“ sh 文件名 ” 可以执行。

2. 文件系统命令

A.显示磁盘使用率
df
显示整个主机的总容量以及比率

B.列表文件/子目录使用率 (du)
du
会列出所有文件以及子目录的大小,不是人看的…
du-sh
-s就是summary,只输出当前文件夹总容量
-h一般在linux就是human给人看的意思,会把1048580b转换为1mb显示
du-h --max-depth=1
嘿,只列出当前文件夹和第一级子目录占用大小

C.删除文件 Remove files (rm) 少儿不宜的命令,总是需要确认
rm-vf miao.in
强制删除miao.in这个文件并不需确认,列出删除文件列表

强制删除,不要执行,除非你知道你在干嘛…
-v一般v参数都是显示过程的意思
-f 强奸的单词会不会拼? F-U-C-K的缩写,不确认直接F-word了
rm-rf ooxx
删除ooxx这个文件夹,包含它的子文件和子文件夹

删除文件用上面的命令,但删除文件夹的时候就需要跑下遍历了
-r 比较本土化,是”日”的缩写,在所有命令里都是 recursive 的意思,有些命令是大写的 R 需要注意

D. 拷贝文件 (cp)
cpooxx.me miao.in
复制ooxx.me这个文件并重命名为miao.in

E. 移动文件/重命名 (mv)
mvooxx.me miao.in
重命名ooxx.me为miao.in
如果加路径,就是移动到某个路径并重命名为miao.in
和DOS不一样,移动文件和重命名换个思路,其实是一个套路,不是么?

F. 创建空文件 (touch)
touchmiao.in
这个很色情的命令,就是创建一个 miao.in 的空文件
如果touch了已有的文件,则会更新那个文件的日期为当前
如果touch次数多了,会high

3. 文件权限

A. 更改文件权限 (chmod)
chmod777 miao.in
默认文件为644,文件夹为755

TIP:
1st digit=Owner; 2nd=Group; 3rd=Other
(-rwxrwxwrx = 777, -rwxr-xr-x = 755, -rw-r–r– = 644, etc.)
7 = Read + Write + Execute
6 = Read + Write
5 = Read + Execute
4 = Read
3 = Write + Execute
2 = Write
1 = Execute
0 = All access denied

4. 高级命令

A. 查找. 常用命令,让我们来找一下10MB以上的文件吧
find. -type f -size +10000k -exec ls -lh {} /; | awk '{ print $5 ": " $9}' |sort -n

B. Grep, 手里握着大西瓜 
ls-alh | grep ooxx
只显示含有ooxx的那几列,当然你在cat的时候配合这个用找文件里的某些字段很方便

C. 分页 (Less/More)
lessmiao.php
如果源代码很长,则会分页显示,上下箭头滚动,输入q退出
tail-n 1000 /var/log/httpd/error_log | more
可以用 | more 参数来滚动显示页面或行

5. MYSQL 数据库

导出数据库
mysqldump-u 数据库用户名 -p 数据库名 > db_ooxx.sql
导出数据库为db_ooxx.sql

导入数据库
mysql-u 数据库用户名 -p 数据库名 < db_ooxx.sql--default-character-set=utf8 
把当前目录的 db_ooxx.sql 以 utf8 编码导入,当然你原来是gbk就改成gbk
中文blog经常遇到这个情况,一不小心就 ??? 满脑子都问号了

6. VI

留意在vi里敲的每一个键… …

7.创建一个登陆ssh的系统级别的用户  useradd -r 用户名  passwd[用户名]

 

知道怎么远程控制Linux系统还不行,得找一些方便的工具才能让我们的工作省心;最急迫的任务就是如何把文件传到VPS上,   前辈们推荐了一款WinSCP, 可以像传统的ftp一样传递文件。 这里提供一个下载:http://www.skycn.com/down.php?uri=http://222.218.45.52:82/down/winscp435setup.zip

链接到自己vps上,界面如下:

是不是很熟悉了,和 CuteFTP,flashFXP 一样的操作。  传递文件的难题就解决了。

 

 

建站的重要任务就是搭建web环境,那么如何搭建LAMP(即Linux下Apache、MySQL、PHP这种网站服务器架构), 或LNMP(即Linux下Nginx、MySQL、PHP这种网站服务器架构)呢。

已有前辈为我们做出了贡献,有人已发布了一键安装包,  用putty连上vps后输入以下命令:

wget -c http://soft.vpser.net/lnmp/lnmp0.7.tar.gz
tar zxvf lnmp0.7.tar.gz
cd lnmp0.7/
./centos.sh

执行完后,大约半个小时就会安装好。具体安装了nginx,mysql,php等

安装其他组件
1、安装eAccelerator,执行如下命令:./eaccelerator.sh就会自动安装并重启web服务。
2、安装ionCube,执行如下命令:./ionCube.sh就会自动安装并重启web服务。
3、安装PureFTPd和管理面板,执行如下命令:./pureftpd.sh按提示输入你MySQL的root密码、FTP用户管理面板的密码、MySQl的FTP数据库密码(可直接回车,自动生成一个密码),回车确认,就会自动安装PureFTPd,安装完PureFTPd,在浏览器执行http://你的域名或IP/ftp/ 输入你前面设置的FTP用户管理面板的密码,就可以管理。
4、安装VsFTPD,执行如下命令:./vsftpd.sh 就会自动安装上vsftpd,只需要执行命令:useradd -d /home/wwwroot -s/sbin/nologin adminftp 添加上帐号指定好ftp帐号的根目录,再执行:passwd adminftp 设置上密码,登录就可以了。

虚拟主机管理
1、添加虚拟主机,执行如下命令:/root/vhost.sh 根据提示输入要绑定的域名,回车,如果需要添加更多的域名,输入y,再输入要另外绑定的域名,多个域名可以用空格隔开。再输入域名绑定的目录(绝对目录,如/home/wwwroot/lnmp,如果不填默认是/home/wwwroot/绑定的域名),再选择是否添加伪静态规则,默认已经有了Discuz、Wordpress、Sablog、emlog、dabr,可直接输入以上名称即可,如果需要添加自定义伪静态规则,直接输入一个想要的名字,程序会自动创建伪静态文件,直接在/usr/local/nginx/conf/你自定义的伪静态名字.conf
里面添加伪静态规则就行。接下来会提示是否需要启用日志功能,一般情况下不需要启动,直接输入n就行,如需启动,输入y,再输入要定义的日志文件名字,回车就会自动添加虚拟主机。
2、删除虚拟主机,ssh执行:rm/usr/local/nginx/conf/vhost/域名.conf

状态管理
LNMP状态管理: /root/lnmp{start|stop|reload|restart|kill|status}
Nginx状态管理:/etc/init.d/nginx {start|stop|reload|restart}
PHP-FPM状态管理:/etc/init.d/php-fpm{start|stop|quit|restart|reload|logrotate}
PureFTPd状态管理: /etc/init.d/pureftpd{start|stop|restart|kill|status}
MySQL状态管理:/etc/init.d/mysql{start|stop|restart|reload|force-reload|status}

相关图形界面程序
phpinfo : http://前面输入的域名或IP/phpinfo.php
phpMyAdmin : http://前面输入的域名或IP/phpmyadmin/
探针 : http://前面输入的域名或IP/p.php
PureFTP管理界面:http://前面输入的域名或IP/ftp/

LNMP相关目录
nginx : /usr/local/nginx
mysql : /usr/local/mysql
php : /usr/local/php
网站目录: /home/wwwroot/
Nginx日志目录:/home/wwwlogs/

LNMP相关配置文件
Nginx主配置文件:/usr/local/nginx/conf/nginx.conf
MySQL配置文件:/etc/my.cnf
PHP配置文件:/usr/local/php/etc/php.ini
PureFtpd配置文件:/usr/local/pureftpd/pure-ftpd.conf
PureFtpd MySQL配置文件:/usr/local/pureftpd/pureftpd-mysql.conf

 

绑定域名, 然后将你的网页发布到 root/home/域名  下, 就可以了

抱歉!评论已关闭.