欢迎,来自IP地址为:44.200.122.214 的朋友
本站是采用腾讯云主机建立,因为其价格相对合理,又有公网IP。由于网站主要用于个人博客,也就没有申请多豪华的配置。单核CPU,1G内存和1M的出口带宽。配置低的情况下当然是linux系统比较好用,所以就用腾讯的VPS构建了一个L(inux)N(ginx)M(ySQL)P(hp)系统,并在此系统上部署WordPress博客工具搭建网站。由于接触linux系统的机会不多,现将自己的搭建过程和经验记录下来,以免日后忘记,希望对其他想用此方式建网站的朋友有所帮助。
腾讯云主机购买及选定比较简单,根据自己的实力量力选择。我当初只是为了建一个小型的个人博客,所以只选择了最基本的配置。操作系统根据自己的使用习惯选择了CentOS 6.5 64位版,并额外购买了20G的存储空间,以便日后数据存储。操作系统没有选择腾讯提供的所谓一键安装系统,首先是为了自己学习一下操作,其次是觉得别人提供的系统可能不是自己想要的样子。好了,不多说闲话,开整。
搭建LNMP系统及部署WordPress步骤比较简单,按照名字顺序逐个安装配置就是了。对于一些细节和配置将逐条说明,大概步骤如下:
一、CentOS 6.5系统配置及数据盘的加载
腾讯云主机的CentOS 6.5系统优化的很好,安装完成后操作系统会默认安装在一个20G的系统盘/dev/vda中。机器启动后可以用df命令看一下大概情况,系统盘会默认使用/dev/vda,如果同时购买了硬盘空间,则为/dev/vdb,一般系统盘及系统分区均不要修改,否则会影响系统稳定。20G的系统盘空间也够应付大部分空间需求了。加挂数据盘是为了系统和应用分离,在出现状况时提高系统安全性。
[root@mail gd]# df -m Filesystem 1M-blocks Used Available Use% Mounted on /dev/vda1 20158 1680 17454 9% / /dev/vdb1 18156 548 16680 4% /dataroot
由上面的图示可以看出,系统盘为20G,购买了20G的硬盘空间挂载在/dataroot目录。我担心将来系统内存不够用,就划了2G的交换空间,所以只显示有18G的样子。设备分别为vda和vdb。用fdisk命令划分数据硬盘:fdisk /dev/vdb,利用此工具将vdb磁盘划分成两个分区,vdb1用于存放数据,vdb2做交换分区。由于交换分区和数据分区使用不同的标识,所以在创建完分区后需要用v命令修改分区的标识ID,一般linux分区为83,交换分区为82,修改完成后用w命令写入磁盘生效,q命令退出fdisk工具。
分区完成后需要对分区进行格式化并挂载到系统文件夹,用mkfs命令格式化数据分区/dev/vdb1,用mkswap命令格式化/dve/vdb2。用mount命令将数据分区挂载到一个文件夹,用swapon命令启用交换分区。我的数据挂载目录为/dataroot,挂载分区为/dev/vdb1。最后可以通过 fdisk -l命令查看分区情况。
[root@mail ~]# fdisk -l Disk /dev/vda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000736d7 Device Boot Start End Blocks Id System /dev/vda1 * 1 2611 20970496 83 Linux Disk /dev/vdb: 21.5 GB, 21474836480 bytes 16 heads, 63 sectors/track, 41610 cylinders Units = cylinders of 1008 * 512 = 516096 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x18aa48cd Device Boot Start End Blocks Id System /dev/vdb1 1 37740 19020928+ 83 Linux /dev/vdb2 37741 41610 1950480 82 Linux swap / Solaris
交换分区是否启用,可以使用free -m命令看其是否已经加载并为系统使用了。当然,如果内存够用的话,是不会使用交换分区的,显示没有使用也不是什么不好。/dev/vdb数据硬盘磁盘在每次启动服务器时都要手动加载,可以修改/etc/fstab文件设置分区自动加载,vi /etc/fstab,将分区信息写入文件中,下次启动系统时会自动挂载数据分区。
/dev/vda1 / ext3 noatime,acl, user_xattr 1 1 proc /proc proc defaults 0 0 sysfs /sys sysfs noauto 0 0 debugfs /sys /kernel/debug debugfs noauto 0 0 devpts /dev/pts devpts mode=0620,gid=5 0 0 /dev/vdb1 /dataroot ext4 defaults 0 0 /dev/vdb2 swap swap defaults 0 0
重新启动一下服务器看设置是否生效。可以看出,linux系统磁盘的使用为分区、格式化和挂载,同windows系统类似,只是最后为挂载到某个目录而不是分配盘符。
为了便于根据主机名配置DNS解析,需要把主机名设置好。我自己的主机名为mail.daehub.com,就是为了和DNS记录对应。配置方法为:在/etc/sysconfig/network文件中加入”HOSTNAME=mail.daehub.com”即可,然后再修改/etc/hosts文件内容,依据主机名.域名的方式将内容修改。为了便于将来网络访问,需要将IP地址对应的主机名一并写入hosts文件中。
[root@mail wp-admin]# cat /etc/hosts 127.0.0.1 localhost mail.daehub.com daehub.com 123.206.60.79 www.daehub.com 123.206.60.79 mail.daehub.com
至此,CentOS系统便基本配置完成,出于安全的考虑,我在设置主机安全组时只开放了22端口用于SSH连接。由于腾讯云主机是默认关闭SElinux和防火墙的,所以服务器一开始便开放所有端口有一定风险,可以根据需要在腾讯云管理面板主机项目的安全组中增加放行端口。
二、Nginx服务器的安装及配置
Nginx服务器是一个轻量化的Web服务器,当然它还有很多厉害的功能,像反向代理、负载均衡等,现在暂时用不上。只把它当Web服务器来用。为了方便配置,采用yum方式安装。首先在/etc/yum.repos.d目录下添加一个名为nginx.repo的源文件,将如下内容添加至该文件:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
内容不多解释,其实就是指明一个nginx服务器的yum源地址,并规定不进行检查。配置完成后用yum install nginx命令安装nginx服务器。安装完成后记得用service nginx start命令启动程序,并用chkconfig nginx on命令设置为开机启动。在主机安全组放行80端口后,可以用浏览器通过本机IP地址直接访问页面。程序启动成功的话,可以在浏览器中见到经典的nginx初始页面。
Nginx当然还有一些其它配置,由于部署WordPress需要PHP运行框架,故先让nginx运行起来,安装完PHP后一并配置。
三、数据库服务器的安装及配置
MySQL数据库安装及配置均采用最简单的方法,首先yum install mysql mysql-server安装数据库服务器和客户端,其中mysql安装的是客户端,mysql-server安装的是服务器。安装成功后用service mysqld start命令启动服务器程序,用chkconfig mysqld on将服务器程序设置为开机启动。登录mysql服务器,可以使用mysql -u root。安装成功如没有特殊需求,不太需要用命令来操作数据库,将来装一个phpMyAdmin软件可视化操作数据库就可以了。主要是用 mysqladmin -u root password ‘your.new.password’ 修改一下root用户的密码来保证安全。
四、PHP运行框架系统的搭建
PHP运行环境安装采用源程序包方式安装,从www.php.net下载程序包后操作步骤如下:
[root@mail~]# tar -zxvf php-5.6.27.tar [root@mail~]# cd php-5.6.27 [root@mail~]# ./configure –enable-fpm –with-mysql [root@mail~]# make [root@mail~]# make install [root@mail~]# cp php.ini-development /usr/local/php/php.ini [root@mail~]# cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf [root@mail~]# cp sapi/fpm/php-fpm /usr/local/bin [root@mail~]# vi /usr/local/php/php.ini //定位到 cgi.fix_pathinfo= 并将其修改为cgi.fix_pathinfo=0 [root@mail~]# vi /usr/local/etc/php-fpm.conf //找到以下内容并修改:user = nginx group = nginx [root@mail~]# /usr/local/bin/php-fpm
以上的命令是安装PHP框架,并进行了最基本的配置。为了让PHP页面正确显示,需要对Nginx服务器进行相关配置。需要说明的是Nginx仅可以显示Html页面,对于PHP页面需要采用cgi方式从php-fpm程序处交谈取得,默认使用本机的9000端口。对Nginx服务器配置文件 vi /etc/nginx/conf.d/default.conf进行修改,修改默认的location块,使其支持.php 文件:
location / { root html; //使用默认的html文件夹作为网页根目录 index index.php index.html index.htm; } //配置对于.php文件的请求将被传送到后端的php-fpm模块,取消默认的PHP配置块的注释,并修改为下面的内容: location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME html$fastcgi_script_name; include fastcgi_params; }
配置完成后,在Nginx的默认目录输出一个测试文件echo “<?php phpinfo(); ?>” >> /usr/local/nginx/html/info.php,并通过浏览器访问http://localhost/info.php,如果见到下面的图像,则说明PHP和Nginx配置完成可以协同工作了。
最后记得将php-fpm程序设置为开机自动启动,vi /etc/rc.d/rc.local文件,将/usr/local/bin/php-fpm内容加入该文件,设置完成。
至此,一个简单的LEMP系统已经搭建完成,初步具备跑PHP网站的能力。为了方便数据库管理,首先建议安装phpMyAdmin数据库管理工具。其实phpMyAdmin是一个基于PHP的网站,配置完成后可以管理MySQL数据库服务器。提供简单的可视化环境。phpMyAdmin安装也较简单,将程序文件夹拷贝到网站目录就可以了,然后通过浏览器访问。由于phpMyAdmin需要用到一些PHP的扩展模块才可以正常使用,现在说下如何安装PHP扩展。
在PHP的源程序文件中一般含有一个ext目录,用于存储PHP的扩展功能模块文件。安装PHP扩展,进入相应扩展目录,用phpize脚本工具进行处理,比如现在想在php中加入memcache扩展模块,要做的只是如下几步:
# cd memcache # phpize # ./configure # make # make install
最后需要将生成的.so文件信息添加至php.ini文件,增加extension=memcache.so内容,重新启动php-fpm后扩展即可生效。
PHP扩展正确安装后,phpMyAdmin一般便可以正常登录了,可视化的操作环境,可以根据提示对各个数据库实例进行操作。由于WordPress需要有一个数据库供其使用,故可以先建立一个wordpress的数据库备用。
五、WordPress系统的部署
WordPress系统部署较为简单,只要下载文件包,将全部文件拷贝到Nginx服务器指定的根目录即可。然后通过浏览器访问,首次会见到WordPress的欢迎页面,并提示进行开始安装。只需要点几步,并按系统要求将配置文件手动写入wp-config.php文件(由于某些PHP扩展未安装,会要求手动写入,正确安装扩展的话,则不会出现提示),这个配置文件是WordPress记录数据库等关键信息的文件。配置完成后,就可以见到WordPressr的登录页面,首次会自动给用户名生成密码,用于登录到WordPress的管理后台,可以正常登录的话,就完成了WordPress系统的部署。
以上是我个人利用腾讯VPS搭建LEMP系统及部署WordPress的全部过程,虽然比较简单,但是保证所有功能正常可用。由于对linux系统不熟悉,其间走了很多弯路,也查了很多资料,总体感觉只有多实践,多问google,问题早晚会解决的。
4 thoughts on “腾讯VPS搭建LEMP系统部署WordPress网站”