云服务器编译(部署云服务器)
如何选择云服务器ECS的操作系统
首先,我们要清楚的便是每个系统之间的差别,以及在阿里云上的差别:
1. Windows
1.1)系统内含正版激活。
1.2)适合于运行Windows下开发的程序,如.net等。
1.3)支持SQL Server等数据库(需自行安装)。
1.4)可以使用远程桌面方式登录进行管理。
注:512内存不支持选择Windows系统,1G以上内存才能很好支持该系统。
2. Linux
2.1.1)最流行的服务器端操作系统,强大的安全性和稳定性。
2.1.2)免费且开源,轻松建立和编译源代码。
2.1.3)通过SSH方式远程访问您的云服务器。
2.1.4)一般用于高性能web等服务器应用,支持常见的PHP/Python等编程语言,支持MySQL等数据库(需自行安装)。
2.2 CentOS(推荐)请使用yum方式在线安装软件。
2.3 Ubuntu请使用aptitude方式在线安装软件。
2.4 Debian请使用apt-get方式在线安装软件。
2.5 Aliyun Linux(兼容 Red Hat)请使用yum方式在线安装软件,yum源需要自行购买redhat的商业支持。
操作系统更换规则:
1.更换操作系统
更换系统之前请先停止云服务器,云服务器更换操作系统会直接重置系统盘【IP不变】,系统盘数据将会丢失!
请您注意:
1.1.更换操作系统会使云服务器的系统盘更换为新的镜像,原有系统盘的数据都会丢失。
1.2.云服务器数据盘的数据不会受到影响。
1.3.建议您将系统盘的个人数据备份到数据盘中,或采用其他方式进行备份。
1.4.因您没有备份系统盘相关个人数据而造成的数据丢失,阿里云不承担责任。
1.5.内存为512M云服务器不支持更换Windows操作系统。
2. CPU/内存与操作系统的选择
2.1)如需选择/变更4G以上内存请您选择64位操作系统(32位操作系统存在寻址限制)。
2.2)如您选择32位操作系统,4G以上内存页面暂不展示,只有云服务器更换为64位操作系统才可展示。
2.3)Windows 32位操作系统支持最高CPU为4核。
2.4)配置:[CPU:1核;内存:512M]的云服务器不支持选择/更换Windows操作系统。
Windows篇
阿里云提供了6种window系统,涵盖了Server 2003 sp2以及Server 2008 R2这两大类操作系统。
其中又分为了32位和64位
(1)如何选择32位还是64位
32位系统相比64位系统,最主要的限制体现在内存的大小上。因为32位本身的限制,其最大只可支持到4GB内存,如果您的网站要使用高于4GB的内存或者以后有扩充内存寻到4GB以上的打算,请使用64位操作系统。
(2)选择2003还是选择2008
对于windows来说,我个人建议是选择版本越高的越好。相对来说新版本漏洞相对来说更少,而且IIS 7.5相对于IIS6提供了更多的功能以及更方便的控制台。但是考虑到大家的机器配置不同,在此给出一下几种选择:
A:配置低于双核 2GB内存:选择server2003不装数据库配置双核4GB: server 2003 mssql或者 server 2008 R2不带数据库
B:配置高于双核 8GB:serever 2008 R2 mssql建议如果大家要在云服务器上跑数据库,尽量选择大内存配置,或者降低配置去选用RDS
(3)中英文、安全加固版如何选择
这个就依据大家各自的喜好来了,在此不多说了至于Windows服务器配置教程,因为网上教程很多而且相对于Linux来说Windows配置难度更低,所以Windows的配置教程会比较晚的放出。
Linux篇
(1)这些linux大类有什么区别
Debian:用的deb包,使用APT包管理系统。
同时Debian提供了大多数软件比较新的版本,并且提供了更多的软件包(相对于原版Red Hat)。Debian的优点在于更新迅速,软件包完善(Ubuntu尤其),操作便利。缺点是部分时候稳定性欠佳,跟进最新软件有可能存在Bug。
Centos:用rpm包,使用yum包管理系统。
相对于Debian来说,Centost的一大特点就是慢。大部分软件停留在稳定版本,而且相距最新版版本也差较多。而且某些新版软件的一些新特性支持也比较慢,比如php-fpm。
因为Centos是面向企业用户提供的操作系统,所以在稳定性上十分突出,一般在新功能或稳定性的选择上更倾向于后者。只有当某个功能完全确定稳定了,才会加入到系统里。优点是系统稳定,技术文档完善,如果付费的话能得到企业级别的技术支持。缺点是软件包比较老旧,而且一些较新功能会欠缺。
总结一下:如果你喜欢尝鲜,喜欢用最新的功能或喜欢折腾系统,那么Debian是个更好的选择。
上手难度 Ubunt(2)Debian与Ubuntu的选择
Ubuntu是基于Debian所开发,可以简单地认为Ubuntu是Debian的功能加强版。
与Debian相比,Ubuntu提供了更人性化系统配置,更强大的系统操作以及比Debian更激进的软件更新。
Ubuntu与Debian比较,可以认为Debian更趋向于保守一些,Ubuntu对新手友好度更高,上手更容易。
用过Ubuntu的都会体会到它的易用,反之如果用过Ubuntu再换到别的系统,都会觉得不适应,Ubuntu真的很方便。
个人建议,如果你打算选择Debian类的,建议选择Ubuntu。
Ubuntu提供了更好的操作,更激进的软件更新,更方便管理软件以及相差无几的稳定性。
如果你不想放弃稳定,那么请选择Debian。
关于Ubuntu版本选择:
在此解释下Ubuntu的版本支持时间。Ubuntu普通版本只提供18个月的技术支持,过期则不管。
服务器版本提供长达五年的技术支持。所以建议大家选择12.04版,提供长达5年的技术支持,可以确保在静候相当长的一段时间内你的服务器可以继续收到系统升级补丁以及可用的软件源。
(3) Centos的选择
对于阿里云Centos的选择,建议选择Centos 6.5版本,带来了更多的新特性以及更多的新功能。
除非你的软件需要php 5.1的环境,那么就选择Centos6.5。如果网站需要支持php5.1,只能选用Centos 5.8。
至于具体版本选择,建议php 5.1用户选择Centos 5.8,其他的用户则为Centos 6.5。
阿里的云服务器的ubuntu系统怎么一键安装环境
安装须知
1、此安装包可在阿里云所有linux系统上部署安装,此安装包包含的软件及版本为:
nginx:1.0.15、1.2.5、1.4.4
apache:2.2.22、2.4.2
MySQL:5.1.73、5.5.35、5.6.15
php:5.3.18、5.4.23、5.5.7
php扩展:memcache、Zend Engine/ OPcache
ftp:(yum/apt-get安装)
phpwind:8.7 GBK
phpmyadmin:4.1.8
2、请使用最新的一键安装包脚本安装,以前老版本都存在bug,会导致安装异常以及安装的环境混乱。
3、执行一键安装包(./install.sh),会自动清理之前一键安装包安装过的环境。
如果您已经安装过一键安装包,再次执行安装,如若有重要数据,请自行备份/alidata目录。
4、一键安装包会将软件安装在/alidata目录下。
如果您的系统不存在数据盘,则一键安装包会将软件安装到系统/alidata目录下。
如果您的系统存在数据盘,且还没有格式化挂载数据盘。则一键安装包会自动帮您格式化第一块数据盘,并挂载在/alidata目录下。
如果您的系统存在数据盘,且已格式化并挂载了第一块数据盘。一键安装包会将第一块数据盘再次挂载到/alidata目录下,并不影响您之前的挂载目录的使用。比如下图所示,安装前,已经挂载了mnt目录。安装后,一键安装包再次挂载/alidata目录。
如果您的系统存在数据盘,且已格式化数据盘,但没有挂载数据盘。一键安装包会将第一块数据盘挂载到/alidata目录下。
5、怎么样卸载一键安装包?
可以执行以下命令完成卸载:
chmod 777-R sh-1.3.0/
cd sh-1.3.0/
./uninstall.sh
好了,下面来进行我们详细的安装步骤,come on~~!
首先准备好连接linux服务器的工具,推荐用xshell和xftp。
xshell是一个强大的安全终端模拟软件,它支持SSH1, SSH2,以及Microsoft Windows平台的TELNET协议。
下载地址:
Xftp是一个基于 MS windows平台的功能强大的SFTP、FTP文件传输软件。
下载地址:
根据上面提供的下载地址,首先安装xshell(基本上是点击Next直至安装完成):
点击Next-->此时选择“free for Home/School”(免费版)。
再点击Next-->Next-->Next-->install即可安装(还可以选择xshell安装后的语言环境,熟悉英文的朋友,可以选择English选项)。
点击finish完成xshell的安装。
然后我们可以看到以下界面。
接下来安装xftp(用于上传文件到linux服务器的小工具),安装xftp也是非常的简单,基本上也点击Next直至安装完成。
点击Next-->此时选择“free for Home/School”,(免费版)。
录点击Next-->Next-->Next-->install(还可以选择xshell安装后的语言环境,熟悉英文的朋友,可以选择English选项)。
点击finish完成安装。
然后我们可以看到以下界。
然后我们打开xshell,设置云服务器登录信息。
设置服务器帐号密码。
设置字符集编码(如果不设置字符集编码,则中文字符将会在xshell中显示为乱码)。
设置好了就点击ok保存。
一切准备就绪,让我们连接看看云linux服务器的庐山真面目吧!
黑不隆冬的,啥都没有,这就是linux的shell啦。shell(壳)到底是什么东东呢?
* Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。
linux作为服务器专用操作系统,主要就是默默的待在机房提供各项网络服务的,为了节省系统资源,像windows那样华丽丽的用户桌面就默认不加载了。当然现在越来越多的用户使用linux作为日常家庭办公用操作系统,所以就有了像gnome、kde这样超华丽的桌面。不过作为服务器使用还是推荐用命令行界面吧,毕竟省一点资源,网站打开可能会更快一点嘛!
打下面的命令去主目录(/home)看下
输入命令:cd
用xftp上传环境安装文件。
回到shell界面,用ll命令看下情况
输入命令:ll
是不是多了一个sh-1.3.0目录,1.3.0是我们的一键安装包的版本号。请下载最新的版本安装,版本更新介绍,我们可以在change.log中查看。也希望大家多多反馈对于一键安装包的意见。(另外,熟悉linux的朋友,直接可以用wget命令下载我们的安装包,也不用安装Xftp,这样更加便捷。)
接下来按照说明,分步骤敲入安装命令(以下为redhat系统下安装示例)。
输入命令:chmod–R 777 sh-1.3.0
cd sh-1.3.0
./install.sh
出现了一个选择提示,进入web服务器的选择界面。
这里您可以根据需要选择apache或者nginx服务器,这里是2个服务器的介绍:
apache:
nginx:
引用:
在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据我的测试结果,Nginx
0.8.46+ PHP 5.2.14(FastCGI)可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。
这里我们选择nginx,输入1,回车(如果什么都不输入,直接回车,或者输入错误的字符,则默认选择nginx)
然后我们再选择要安装的nginx的版本(如果web服务器选择的是apache,这里提示信息则是要安装apache的版本),总共有1.0.15/1.2.5/1.4.4三个版本可以提供我们选择,这里我们选择1.2.5版本,则输入2,回车(如果什么都不输入,直接回车,或者输入错误的字符,则默认选择1.0.15版本)
然后我们再选择要安装的php的版本,总共有5.3.18/5.4.23/5.5.7三个版本可以提供我们选择,这里我们选择5.5.7版本,则输入3,回车(如果什么都不输入,直接回车,或者输入错误的字符,则默认选择5.3.18版本)
然后我们再选择要安装的mysql的版本,总共有5.1.73/5.5.35/5.6.15三个版本可以提供我们选择,这里我们选择5.1.73版本,则输入1,回车(如果什么都不输入,直接回车,或者输入错误的字符,则默认选择5.1.73版本)
然后可以看到我们刚才选择的版本如下,我们输入y或者Y进行安装。
到这里,我们就正式进入环境安装环节了。你可以泡杯茶休息下。一般这个过程会持续半个小时的样子。
注意:
1、请在网络通畅的情况下进行安装,不要强行终止安装过程(强行关闭安装窗口或者ctrl+c强行终止安装进程),则会导致安装失败,以及出现不可预知的安装异常!
2、安装前,最好能跟系统盘打上快照,如果异常,方便回滚系统。
为了防止断掉和服务器的连接,可以新开一个shell窗口,将鼠标挪到窗口标签栏,右击,如下图所示:
可以看到,新开了一个窗口。
输入top命令
可以看到一直在跳动的系统资源统计。
好了。做完了这一些就让我们静静的等待吧!程序正在自动编译安装服务!
到这个界面说明安装已经结束了,我们可以输入以下命令再次验证是不是已经安装成功:
输入命令:netstat-tunpl
我们可以看到正在运行状态的服务及端口:9000端口是php进程服务,3306端口是mysql服务,80端口是nginx服务,21端口是ftp服务。
如果看到以上信息,则说明安装没有异常。这里有一点需要注意的是,如果您选择安装的是apache,则没有上面的9000端口。为什么选择安装的是apache,就没有9000端口的php进程服务呢?这是因为nginx+php集成方式与apache+php集成方式不同,感兴趣的朋友可以自己入研究一下,这里就不再介绍。
大家有疑问了。那我怎么登录ftp和mysql呢?
在命令行里输入: cat account.log
看到了没
ftp的用户名是:www
mysql的用户名是:root
密码就在屏幕上了!
另外我们也可以cat/alidata/website-info.log中查看到刚才安装软件的版本信息。
好了。所有配置都已经完成了。是不是很简单!
接下来我们可以访问一下一键安装包默认安装的phpwind论坛以及phpmyadmin。
直接在浏览器中输入您的域名或者ip,如果是第一次访问phpwind,则会自动跳转到安装页面。
如果访问的时候卡主,不出来页面,则检查一下防火墙,并自行设置或者关闭防火墙。
点击“接受”进行安装。
然后选择数据库类型为mysql,数据库用户名和数据库密码填写account.log中的用户名和密码。然后根据自己的要求,设置好数据库名、管理员账号和密码等。
填写好信息后,点击下一步完成安装。
接下来我们访问phpmyadmin,在浏览器中键入我们的域名或者ip+phpmyadmin路径,即可访问我们安装的phpmyadmin。
输入mysql用户名以及密码,即可登录。
最后我们就可以在这里面操作管理我们的mysql啦。
云服务器如何配置nginx支持php
[root@redhat7~]# wget
[root@redhat7~]# tar xzvf php-7.1.2.tar.gz
[root@redhat7~]# cd php-7.1.2/
[root@redhat7~]#./configure--prefix=/usr/local/php--enable-fpm
[root@redhat7 php-7.1.2]# make&&make install
查看是否成功编译安装PHP
[root@redhat7 php-7.1.2]# php-v
PHP 7.1.2(fpm-fcgi)(built: Apr 14 2017 20:21:53)
Copyright(c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright(c) 1998-2017 Zend Technologies
编译安装完成后PHP不具备配置文件php.ini,此时只需复制php.ini-production到/usr/local/lib/php.ini即可,php.ini文件一般在/usr/local/lib/和/etc目录下
[root@localhost php-7.1.2]# cp php.ini-production/usr/local/lib/php.ini
[root@redhat7 php]#/usr/local/php/sbin/php-fpm
[14-Apr-2017 20:59:49] ERROR: failed to open configuration file'/usr/local/php/etc/php-fpm.conf': No such file or directory(2)
[14-Apr-2017 20:59:49] ERROR: failed to load configuration file'/usr/local/php/etc/php-fpm.conf'
[14-Apr-2017 20:59:49] ERROR: FPM initialization failed
启动php-fpm发现缺乏配置文件/usr/local/php/etc/php-fpm.conf
此时只需复制php-fpm的配置文件在安装php时提供的配置文件的模版/usr/local/php/etc/php-fpm.conf.default到相应/usr/local/php/etc/php-fpm.conf即可
[root@redhat7 etc]#/usr/local/php/sbin/php-fpm
[14-Apr-2017 21:14:32] WARNING: Nothing matches the include pattern'/usr/local/php/etc/php-fpm.d/﹡.conf' from/usr/local/php/etc/php-fpm.conf at line 125.
[14-Apr-2017 21:14:32] ERROR: No pool defined. at least one pool section must be specified in config file
[14-Apr-2017 21:14:32] ERROR: failed to post process the configuration
[14-Apr-2017 21:14:32] ERROR: FPM initialization failed
[root@redhat7 etc]# cp php-fpm.conf.default/usr/local/php/etc/php-fpm.conf
[root@redhat7 etc]# cp/usr/local/php/etc/php-fpm.d/www.conf.default/usr/local/php/etc/php-fpm.d/www.conf
[root@redhat7 etc]#/etc/init.d/php-fpm
[14-Apr-2017 21:23:02] ERROR: unable to bind listening socket for address'127.0.0.1:9000': Address already in use(98)
[14-Apr-2017 21:23:02] ERROR: FPM initialization failed
[root@redhat7 etc]# netstat-nldp|grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 3721/php-fpm: maste
[root@redhat7 php-7.1.2]# cp sapi/fpm/init.d.php-fpm/etc/init.d/php-fpm
[root@redhat7 php-7.1.2]# chmod a+x/etc/init.d/php-fpm
[root@redhat7 php-7.1.2]# ll/etc/init.d/php-fpm
-rwxr-xr-x 1 root root 2401 4月 14 21:26/etc/init.d/php-fpm
[root@redhat7 php-7.1.2]#/etc/init.d/php-fpm start
Starting php-fpm [14-Apr-2017 21:28:09] ERROR: unable to bind listening socket for address'127.0.0.1:9000': Address already in use(98)
[14-Apr-2017 21:28:09] ERROR: FPM initialization failed
failed
[root@redhat7 php-7.1.2]# netstat-nldp|grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 3721/php-fpm: maste
[root@redhat7 php-7.1.2]# kill 3721
[root@redhat7 php-7.1.2]# netstat-nldp|grep 9000
[root@redhat7 php-7.1.2]#/etc/init.d/php-fpm start
Starting php-fpm done
[root@redhat7 php-7.1.2]# service php-fpm status
php-fpm(pid 3927) is running...
[root@redhat7 php-7.1.2]# chkconfig--add php-fpm
[root@redhat7 php-7.1.2]# chkconfig php-fpm--level 345 on
配置nginx支持PHP
修改nginx的配置文件,支持php文件的解析,找到location的添加位置,在后面添加下面这个location
location~.php${
root/usr/share/nginx/html;#指定php的根目录
fastcgi_pass 127.0.0.1:9000;#php-fpm的默认端口是9000
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name;
include fastcgi_params;
}