CopyrightIBMCorporation2013ТорговыемаркиСозданиемногоузловойустановкиDrupalСтраница1из11СозданиемногоузловойустановкиDrupalСозданиенесколькихсайтовDrupalсединойбазойкодаиразнымибазамиданныхТимОгунжоби02.
08.
2013ОднаважнаяособенностьсистемыуправленияинформациейDrupalзаключаетсявтом,чтоонапозволяетзапускатьнесколькоWeb-сайтовизоднойбазовойустановкисреды–этафункцияназываетсямногоузловымиустановками(multisiteinstallations).
ТакиеобъектыособеннополезныWeb-администраторам,которымнужнопостоянноуправлятьиподдерживатьнесколькосайтов,иупрощаютадминистрированиенесколькихустановокDrupal,расположенныхнаодномитомжесервере,таккаквсеониработаютпоодномуитомужесценарию.
Вэтойстатьепоказано,какустановить,настроить,запускатьиадминистрироватьмногоузловыеустановкиDrupal.
Существуетмножествопричин,покоторымсистемныйадминистраторилиразработчикможетпредпочестьразмещениенесколькихузловнаодномитомжесервереввидемногоузловойконфигурации.
Например,такаяконфигурация:позволяетсоздатьэффективнуюсредуразработки;обеспечиваетвозможностьсозданияитестированиясайтадоегопубликации;позволяетвыполнятьразноеПОнаодномитомжесайте;допускаетсовместноеиспользованиеоднойитойжебазыкодананесколькихсайтах;упрощаетвиртуальныйхостинг;позволяетисполнятьнаодномитомжесервереаналогичныезащищенные(HTTPповерхSecureSocketsLayer[HTTPS])истандартные(HTTP)сайты;облегчаетадминистрированиесервера.
ОднаконевсеизэтизадачилучшевсегорешатьспомощьюмногоузловойустановкиDrupal.
Вэтойстатьерассматриваетсятолькооднастратегия:какиспользоватьвстроеннуюмногоузловуюподдержкуDrupalдлясозданияиобслуживаниянесколькихсайтовизодногоэкземпляраDrupal.
ОсновныесоображенияИспользованиесистемыуправленияинформацией(ContentManagementSystem-CMS)Drupalдлясозданиямногоузловойконфигурациидаетнесколькопреимуществ,одноdeveloperWorksibm.
com/developerWorks/ru/СозданиемногоузловойустановкиDrupalСтраница2из11изкоторых―предельноеупрощениенастройкииподдержки.
Другоепреимуществозаключаетсявтом,чтодублированиеданныхсводитсякминимуму,посколькуDrupalустанавливаетсятольководномместенасервере.
Наконец,вDrupalестьмножествовспомогательныхмодулей,которыеможноиспользоватьдляупрощенияуправлениянесколькимисайтами,применяярасширенныевозможностиковсемсайтамустановкиодновременно.
Сочетаниедополнительныхфункцийсупрощеннымадминистрированием―благодлявсех,комуприходитсянастраиватьиадминистрироватьмногоузловыеустановки.
Темнеменее,утакойконфигурацииестьнескольконедостатков,дваизкоторыхзаслуживаютособогоупоминания:безопасностьиобобщение.
Сайтымногоузловойустановкиразделяютодинитотжекоди,следовательно,одниитежефайлы.
Врезультателюбой,ктополучаетдоступкфайловойсистемесерверадляодногосайта,можетобращатьсяковсемфайлам,используемымвсемисайтамиэтоймногоузловойустановки.
Такимобразом,втехслучаях,когдаврамкахустановкиразныелюдиуправляютразнымисайтами,онаможетбытьневполнебезопасной.
Еслибезопасностьмеждусайтами―важнаяпроблема,илиеслиразнымисайтамиуправляютразныелюди,товстроеннаявDrupalфункциональностьмногоузловойподдержкиможетоказатьсянелучшимрешением.
ВместоэтогорассмотритевозможностьвыделениядлякаждогосайтасвоегособственногоэкземпляраDrupal.
Преимуществаупрощенногоадминистрирования,обеспечиваемыемногоузловойконфигурациейтеряются,затовашисайтыбудутлучшезащищеныотзлоупотреблений.
Втораяпроблема—обобщение—связанасдоступомкбазеданных.
МногоузловыеустановкиDrupalразделяютодинитотжеисходныйкод,нонеоднуитужебазуданных.
Такчтоузлы,пользователиикомментариинаодномсайтепоумолчаниюнедоступнысдругихсайтов.
Этоможнорассматриватьикакблаго,новтехситуациях,когдаадминистраторуможетпотребоваться,чтобывсесайтыразделялиоднуитужеинформацию,этоможетоказатьсяпрепятствиемприпроектированиимногоузловойустановкиDrupal.
Темнеменее,яркимпятномвстроенноймногоузловойподдержкиDrupalявляетсято,чтомодули,темыидажевнекоторойстепенизагруженныефайлыможносделатьобщимидлявсехсайтов.
Крометого,одинаковыеилиспециальныефайлыможносохранятьвразныхпапках,соответствующихразнымсайтамконфигурации.
Есливажно,чтобывсяинформациябылаобщей,рекомендуетсяиспользоватьфункциюмногодоменной(multidomain)поддержки,котораялегкообеспечиваетсямодулемстакимжеименем.
УстановкамногоузловойконфигурацииDrupalПослезагрузкиархиваDrupal(см.
разделРесурсы)распакуйтефайлископируйтеполученнуюпапкувкорневойкаталогдокументовсвоегоWeb-сервера.
ЭтонетрудносделатьспомощьюподходящегоFTP-клиента;априналичиидоступаSecureShell(SSH)ксерверузадачаупрощаетсяещебольше.
Достаточновыполнитькомандуwget,чтобызагрузитьфайлархиваизхранилищаираспаковатьего,получивпапкуустановкиDrupal.
(Длялокальнойсредыразработкивозможныдополнительныеварианты:см.
ниже.
)Назовитепапкуустановки/goodsite.
ibm.
com/developerWorks/ru/developerWorksСозданиемногоузловойустановкиDrupalСтраница3из11Дляэтогопримерамысоздадимтриразныхсайта;такимобразом,потребуютсятриразныхбазыданных—пооднойдлякаждогосайта.
ЭтазадачалегкорешаетсяспомощьюфункцииphpMyadminпанелиCpanelсервера.
Затемустановитесреду.
ОднакопередиспользованиемWeb-браузерадлязапускапрограммыустановкинужнорешитьдвезадачи:предоставитьDrupalнеобходимуюинформациюосайтах,которыевысобираетесьзапускать;передатьданныеоконфигурациисайтовизDrupalвовсесайты.
Длярешенияпервойзадачисоздадимспециальныйкаталогдлякаждогосайта.
Затемпоместимвкаждыйкаталогфайлпараметров.
Цельзаключаетсявтом,чтобысоздатьоднуосновнуюустановкусдвумяподузлами.
Каждыйподузелразделяетобщиефайлысосновнымузлом,ноимеетсвойсобственныйURL-адресиотдельнуюбазуданных.
ВотURL-адресасоздаваемыхсайтов:основнойсайт:http://goodsite.
com;подузел1:http://bettersite.
com;подузел2:http://bestsite.
com.
УстановкапервогоузлаПослеразмещенияисходногокодаDrupalвкорневомкаталогедокументовисозданиябазданныхMySQLприступаемкустановкепервогосайтаиглавногодомена.
ГлавныйдоменИменемглавногодоменабудетURL-адрес,черезкоторыйдоступеносновнойсайт(вэтойстатье:http://goodsite.
com).
Основнаязадачаглавногодомена―размещениебазовойустановкиDrupal.
Независимооттого,используетсялиэтотдоменвкачествеодногоизвашихсайтов,вслучаеотказалюбыхдочернихузловихURL-адресабудутпоумолчаниюприсвоеныглавномудомену;такимобразом,полезно,чтобыэтотсайтсодержалинформацию,относящуюсякдочернимсайтам,такуюкакконтактныеданные.
Какужеупоминалось,длякаждогоподузлавосновнойпапкеDrupalнужносоздатьподпапку.
То,чтомногиесчитаютсамойсложнойзадачейвмногоузловойустановкеDrupal,насамомделерешаетсяоченьпросто:укажитеDrupal,какиесайтывыхотитеразместить,ипростосоздайтедляэтихсайтоввложенныепапкивпапке/sites.
ГлавнаякорневаяпапкаDrupal―этокаталогсименем/sites.
Те,ктоужеадминистрировалDrupal,знает,чтовесьнекорневойкоддолженнаходитьсявэтойпапке.
ВустановкеDrupalпоумолчаниюпапка/sitesсодержитдвакаталога.
Впервом,all/,размещаютсязагруженныетемыимодули.
Каталогall/―этохранилищеинформации,общейдлявсехсайтов.
Втораяпапка,default/,содержитфайлыконфигурации,атакженеосновныеиспециальныетемыимодули.
Обычно,еслинеуказаноиное,Drupalищетсведенияоконфигурациисайтавкаталогеdefault/.
Заметим,однако,чтоэтопредположениедляобычного,одноузловогосайта—длямногоузловойустановкиономожетнесоблюдаться.
developerWorksibm.
com/developerWorks/ru/СозданиемногоузловойустановкиDrupalСтраница4из11СозданиеподпапокифайловВажнойподсказкойдляпостроениямногоузловойконфигурацииDrupalслужитто,чтопомимопапокall/иdefault/можносоздаватьдругиеподпапки/sites,иDrupalприсвоитимособоезначение.
Конкретнее,Drupalпредполагает,чтовседругиекаталоги,расположенныевпапке/sites,представляютсобойимяхостаилишаблонименихоста.
Высоздаетевложеннуюпапкувшаблоне/goodsite/sites/впапке/sitesдлявсехподсайтов,подставляявместоименикаждойпапкиподсайтасвойпредполагаемыйURL.
Дочерниесайтыдляэтогопримерапоказанынарисунке1.
Sub-site1:/goodsite/sites/bettersiteSub-site2:/goodsite/sites/bestsiteРисунок1.
Иерархияпапок/sitesДлякаждогодочернегоузлавыполнитеследующиедействия:1.
Скопируйтефайлdefault.
settings.
phpизкаталогаsites/defaultвкаждыйподкаталогипереименуйтееговsettings.
php.
2.
СпомощьюкомандыCHMODустановитекоддопускаsettings.
phpравным644,еслиэтонетекущеезначениекодадопуска.
3.
ДляустановкиDrupalверсии6создайтепапкусименемfilesдлякаждогосайтаиспомощьюCHMODизменитекоддопускана755.
Этопапка,вкоторуюDrupalможетзаписыватьинформацию—какправило,загруженыфайлы,эскизыизображений,агрегированныекаскадныетаблицыстилей(CSS)ифайлыJavaScript.
Этифайлыхранятсяневбазеданных,а,скорее,вфайловойсистеме,такчтонужноиметькаталог,вкоторомонимогутразмещаться.
ПоумолчаниюDrupalпросматриваетподкаталогсименемfiles/вкаталогекаждогосайта.
ВустановкеDrupalпоумолчаниюэтопапкаsites/default/files/.
4.
Длякаждогоподсайтасоздайтепапкуmodules.
Этопапка,вкоторойнаходятсявсемодули,специфическиедляэтогоподсайта.
Любыемодули,которыебудутиспользоватьсявсемисайтами,должнынаходитьсявпапкеsites/all/modules.
ibm.
com/developerWorks/ru/developerWorksСозданиемногоузловойустановкиDrupalСтраница5из115.
Длякаждогоподсайтасоздайтепапкуthemes.
Здесьразмещаютсятемы,уникальныедляданногоподсайта.
Любыетемы,которыебудутиспользоватьвсесайты,должныразмещатьсявпапкеsites/all/themes.
ТеперьукажитеURL-адресадочернихсайтовнаWeb-сервере,еслиониненаходятсявведенииоднойитойжехостинговойкомпании.
Еслидляразныхсайтовиспользуютсяразныехосты,нужноизменитьинформациюсистемыдоменныхимен(DNS―какэтосделать,подскажутрегистраторыихостинговыекомпании).
Послеэтогонужноприпарковатьэтотдоменповерхсвоегоосновногодомена—вданномслучае,goodsite.
com.
Теперьувасестьнесколькоальтернатив,наиболеетруднаяизкоторыхпредполагаетиспользованиетакназываемойсимволическойссылки(symlink).
Однакопарковканамногопроще;такчтовыберитевCpanelпунктParkedDomains.
Добавьтеbettersite.
comиbestsite.
comвполеNewDomainName(Новоедоменноеимя),затемнажмитекнопку(Добавитьдомен).
СозданиемультисайтовЕстьнесколькоспособовдвигатьсядальше,ноопятьже,мывыберемсамыйпростой:непосредственнуюзагрузкувкаждыйдочернийузелбазыданныхстаблицами,созданнымивпроцессеустановкиглавногосайта.
Дляэтогонеобходимосоздатьдамптаблицыбазыданныхизустановкиглавногосайтаисохранитьеголокально.
Затем―либозагрузитьэтотфайлспомощьюphpMyadmin,либооткрытьеговредакторе.
Чтобыиспользоватьвторойвариант,выполнитевphpMyadminследующиедействия:1.
Перейдитевбазуданных,созданнуюдляподсайта.
2.
ПерейдитевSQLивставьтетудавеськодиздампаструктурированногоязыказапросов(SQL).
3.
НажмитекнопкуGo.
Этапроцедуравоспроизводиттаблицыбазыданныхглавногосайтавбазеданныхподсайта.
Далее,длякаждогодочернегоузлаоткройтефайлsettings.
phpинайдитеследующуюстроку:$db_url='mysql://username:password@localhost/databasename';Изменитеэтустрокуподключениякбазеданныхсучетомпараметровбазыданныхподсайта(имяпользователя,пароль,имяхоста,имябазыданных).
Теперь,еслизайтинаbettersite.
com,выдолжныполучитьстандартнуюстраницу"WelcometoyournewDrupalwebsite"(ДобропожаловатьнавашновыйсайтDrupal),какпоказанонарисунке2.
Повторитеэтидействиядлявсехдополнительныхсайтов.
developerWorksibm.
com/developerWorks/ru/СозданиемногоузловойустановкиDrupalСтраница6из11Рисунок2.
ВашновыйWeb-сайтвDrupalСозданиемультисайтовизсубдоменовЕстьещеодинспособбыстрогосозданиямультисайтовсихпредварительнымописаниемвкачествеподдоменоввCpanel.
Приэтомметоде,однако,необходимосначаласоздатьпапкидлякаждогосайтавкаталоге/goodsite/sites,нонаэтотраз―сиспользованиемследующегосоглашения(см.
Рисунок3):Sub-site1:/www/goodsite/sites/bettersite.
com;Sub-site2:/www/goodsite/sites/bestsite.
comРисунок3.
СозданиемультисайтовизсубдоменовОбратитевнимание,чтовпапкисубдоменовдолжныиметьтежеимена,чтоисамисубдомены.
Какипрежде,поместитевкаждуюпапкусубдоменакопиюфайлаdefault.
settings.
php,изменитеимяфайланаsettings.
phpиподайтекомандуCHMOD,чтобыизменитькоддопускана644.
ТеперьвозвратитесьвCpanelисоздайтедваподдомена:ibm.
com/developerWorks/ru/developerWorksСозданиемногоузловойустановкиDrupalСтраница7из11bettersite.
goodsite.
combestsite.
goodsite.
comСозданиесимволическойссылкиСимволическаяссылка(symlink)—этофайл,содержащийссылкунадругойфайлилипапкуввидеабсолютногоилиотносительногопути,которыйспособствуетразрешениюименпути.
Спомощьюлюбогоредакторакодасоздайтефайлsymlink.
phpидобавьтекод,аналогичныйследующему:Вданномслучаефайлбудетвыглядетьпримернотак:ПоместитеэтусимволическуюссылкувосновнойкаталогглавногосайтаизапуститеееизURL-адресаhttp://goodsite.
com/symlink.
php.
Еслисинтаксискодаправильный,выдолжныувидетьпустуюстраницу;впротивномслучаебудетвыведеносообщениеобошибке.
Настройтекодэтогофайлатак,чтобыонработалправильно.
Настройка.
htaccessТеперьоткройтефайл.
htaccessвлюбомредакторекода.
Найдитеследующуюстроку:#RewriteBase/Удалитезнак"решетка"(#)идобавьтеследующуюстроку,азатемсохранитеизменения:RedirectMatch301^/sub-domain/(.
*)$http://sub-domain.
yoursite.
com$1Воткакврезультатедолженвыглядетьфайл.
htaccess:RewriteBase/RedirectMatch301^/bettersite/(.
*)$http://bettersite.
goodsite.
com/$1RedirectMatch301^/bestsite/(.
*)$http://bestsite.
goodsite.
com/$1Этапереадресацияпозволяетперенаправитьhttp://goodsite.
com/bettersiteиhttp://bettersite.
goodsite.
comнаодинитотжесайт.
Есливсесделаноправильно,топриобращениипоURL-адресамподсайтовhttp://bettersite.
goodsite.
comиhttp://bestsite.
goodsite.
comвыбудетепереадресовыватьсянастраницуустановки.
Когдавсесайтыустановлены,ссайтомhttp://bettersite.
goodsite.
comлегкосвязатьсяизCpanelспомощьюпереадресациипоURL-адресуhttp://bettersite.
com.
developerWorksibm.
com/developerWorks/ru/СозданиемногоузловойустановкиDrupalСтраница8из11МультисайтналокальномхостеUbuntuВыполнитьмногоузловуюустановкунаUbuntuнемногосложнее,чемто,чтомыужепроделалидляудаленногохостинга.
Такуюмногоузловуюустановкулегконастроитьспомощьюметода,описанноговследующихразделах.
СозданиеновойпапкихостовСначаланеобходимосоздатьпапкуgoodsiteвсвоейдомашнейпапке,используяследующийкод:>>filesystem/home//Результатдолженвыглядетьтак:->/home//goodsite.
ТеперьскопируйтевэтупапкувсесвоифайлыDrupal.
РедактированиефайлаhostsОтредактируйтефайлhosts,открывокнотерминаласпомощьюследующейкоманды:sudogedit/etc/hosts'Затемможнодобавитьлюбоеимясайтавформате127.
0.
0.
1mysite.
com.
Дляданногопримерадобавьтеследующиестроки:127.
0.
0.
1goodsite.
com127.
0.
0.
1bettersite.
com127.
0.
0.
1bestsite.
comРедактированиеимеющихсясайтовТеперьперейдитевпапкуимеющихсясайтовисоздайтефайлназваниемgoodsite.
comспомощьюследующихкоманд:cd/etc/apache2/sites-availablesudocpdefaultgoodsite.
comsudogeditgoodsite.
comПерваякомандавыполняетпереходвпапкудоступныхсайтов;втораякопируетфайлпоумолчаниюипереименовываетеговgoodsite.
com.
Третьякомандаоткрываетфайлgoodsite.
comдляредактирования.
Добавьтевфайлкод,приведенныйвлистинге1.
Листинг1.
ДобавлениеновогосайтавпапкусуществующихсайтовServerAdminwebmaster@localhostServerNamegoodsite.
comDocumentRoot/home//goodsiteOptionsFollowSymLinksAllowOverrideAllibm.
com/developerWorks/ru/developerWorksСозданиемногоузловойустановкиDrupalСтраница9из11Сохранитеgoodsite.
com,включитеегоиперезагрузитеApacheспомощьюследующихкоманд:sudoa2ensitemysite.
comsudo/etc/init.
d/apache2reloadСозданиепапокдочернихсайтовСоздайтесвойподсайтвпапке/sitesfolder/home/[вашлогинubuntu]/goodsite/sites/bettersite.
com,азатемдобавьтевновуюпапкуфайлsettings.
php.
Есливыужеперешливsites/directory,скопируйтефайлsettings.
phpспомощьюследующейкоманды:$cpdefault/default.
settings.
phpbettersite.
com/settings.
php$chmod777bettersite.
com/settings.
phpЗапускустановкиподсайтаОткройтебраузеринаберите:http://bettersite.
com.
Выдолжныувидетьстраницунастройкиустановки.
Вновьсделайтефайлsettings.
phpдоступнымтолькодлячтениявоизбежаниесообщенийбезопасности,затемвыполнитеустановкуподсайта.
Далее,создайтепапкусайтаивыполнитеустановкуbestsite.
com,атакжелюбыхдругихподсайтов,указанныхвконфигурациихостов.
МногоузловыемодулиМодулииспользуютсядлярасширенияфункциональностибазовойустановкиDrupalимогутбытьразныхкатегорий,отадминистративныхдофункциональных,фактическиповышающихпроизводительность.
Несколькомодулеймогутпомочьвсозданиимультисайтовилианалогичныхконфигураций.
Подробнаяинформацияотом,какиспользоватьэтимодули,содержитсявдокументациипоустановкекаждогомодуля.
МодулиDomainAccessМодулиDomainAccess(см.
разделРесурсы)позволяютсоздатьмультисайт,используяединуюбазукода,общуюбазуданныхпользователейиобщийвход,норазныеинформационныебазыданных.
Такаяконфигурацияотличаетсяоттого,чтомысделаливэтойстатье.
DomainAccess―этонасамомделенабормодулей,которыеоблегчаютуправлениегруппойсайтовсиспользованиемединогобазовогокодаDrupal,установленноговнутриединойобщейбазыданных.
Этимодулипозволяютвсемсайтамразделятьпользователей,контентипараметры,еслиониуженастроенынатакуюработу.
Чтобыопределить,какаяинформациядолжнаотображатьсянакаждомсайтевмногоузловойсреде,модулиDomainAccessиспользуютсистемуDrupalNodeAccessSystem.
Вотличиеотдругихмногодоменныхмодулей,этимодулитакжеконтролируютдоступпользователейнаосновеактивногодомена,которыйпросматриваетпользователь,аненаосновегруппыилисайта,ккоторымэтотпользовательпринадлежит.
developerWorksibm.
com/developerWorks/ru/СозданиемногоузловойустановкиDrupalСтраница10из11МодульMultisiteManagerMultisiteManager(см.
разделРесурсы)—этовспомогательныймодуль,которыйпозволяетсоздаватьновыесайтыDrupalизбазовогосайта-безнеобходимостиобращатьсякбазеданныхустановки.
Поумолчаниюновыйсайтустанавливаетсявтойжебазеданных,чтоиосновнаяустановка,носдругимпрефиксом.
Впротивномслучае,еслиутекущегопользователяестьправанасозданиебазыданных,установкуможновыполнитьвэтойбазеданных.
ЗаключениеЭтастатьяучитсозданиюмногоузловойконфигурацииспомощьюDrupalвкачествебазовойCMS.
Мыустановилиглавныйсайтивегоструктурекаталоговрасположилиподсайты.
Читательузнал,каквыполнятьмногоузловыеустановкинаудаленномсервереспомощьюсредствадминистрирования,предоставляемыххостинговойкомпанией.
Онтакжеузнал,каксоздатьмногоузловуюустановкуналокальномкомпьютере—вчастности,накомпьютереподуправлениемUbuntuLinux.
ЭтастатьятакжезнакомитчитателясдвумямодулямиDrupal,которыепомогаютсоздаватьмногоузловыеимногодоменныеконфигурации.
ibm.
com/developerWorks/ru/developerWorksСозданиемногоузловойустановкиDrupalСтраница11из11ПохожиетемыОригиналстатьи:CreatingaDrupalmultisiteinstallation.
ЗагрузитепоследнююверсиюDrupal.
ПодробнееомодуляхDomainAccess.
ПодробнееомодулеMultisiteManager.
ОзнакомительныеверсиипродуктовIBM:загрузитеознакомительныеверсиипродуктовIBMилипоработайтеснимив"песочнице"IBMSOASandboxипопрактикуйтесьсинструментамиразработкиприложенийипродуктамипромежуточногоуровнядляDB2,Lotus,Rational,TivoliиWebSphere.
CopyrightIBMCorporation2013(www.
ibm.
com/legal/copytrade.
shtml)Торговыемарки(www.
ibm.
com/developerworks/ru/ibm/trademarks/)
活动方案:美国洛杉矶 E5 2696V2 2核4G20M带宽100G流量20元/月美国洛杉矶E5 2696V2 2核4G100M带宽1000G流量99元/季香港CN2 E5 2660V2 2核2G30M CN2500G流量119元/季日本CN2E5 2660 2核2G30M CN2 500G流量119元/季美国300G高防 真实防御E5 2696V2 2核2G30M...
ParkInHost主机商是首次介绍到的主机商,这个商家是2013年的印度主机商,隶属于印度DiggDigital公司,主营业务有俄罗斯、荷兰、德国等机房的抗投诉虚拟主机、VPS主机和独立服务器。也看到商家的数据中心还有中国香港和美国、法国等,不过香港机房肯定不是直连的。根据曾经对于抗投诉外贸主机的了解,虽然ParkInHost以无视DMCA的抗投诉VPS和抗投诉服务器,但是,我们还是要做好数据备...
最近主机参考拿到了一台恒创科技的美国VPS云服务器测试机器,那具体恒创科技美国云服务器性能到底怎么样呢?主机参考进行了一番VPS测评,大家可以参考一下,总体来说还是非常不错的,是值得购买的。非常适用于稳定建站业务需求。恒创科技服务器怎么样?恒创科技服务器好不好?henghost怎么样?henghost值不值得购买?SonderCloud服务器好不好?恒创科技henghost值不值得购买?恒创科技是...
rewritebase为你推荐
文件夹删不掉文件夹删除不了,怎么办?苏州商标注册苏州商标注册申请流程是什么样的google竞价排名google竞价排名怎么做真正免费的网络电话有没有真正免费的网络电话?而且是好用的?保护气球什么气球可以骑?安全漏洞什么是安全漏洞攻击??小米手柄小米蓝牙游戏手柄怎么连接游戏网管工具网管软件好用吗?什么样的网管软件好呢?我想管理二十台电脑,让其中的四五台可以上网,其它的只能上局域网,谁能推荐一款软件吗?如果出钱买也可以!谢谢了!发邮件怎么发怎么发邮箱blogcn远目是什么意思?
香港ufo 60g硬盘 免费静态空间 网页背景图片 php免费空间 主机合租 铁通流量查询 gg广告 hostker 网站卫士 美国免费空间 33456 空间首页登陆 空间登录首页 中国电信网络测速 英雄联盟台服官网 中国电信测速网站 ledlamp 测试网速命令 apnic 更多