Войти
ПрограммированиеФорумВеб

Сервер для сайта. Сделай сам.

Страницы: 1 2 Следующая »
#0
16:00, 15 фев. 2015

Привет.

Хочу написать простой сервер для сайта сам. Не в смысле, что бы "с нуля", а чтобы не заказывать это у сторонних специалистов.
Всего-то нужно следующее:

1. Локализация для сайта (ru/en), чтобы текст на нужном языке "подставлялся" в зависимости от региона юзера, который зашёл на сайт. (если из России/Украины/Белоруссии, то ru, иначe en).

2. Раздел "товаров" регулярно пополняется, хотелось бы не вручную править html-разметку после каждого добавления товара (хоть это и происходит раз-два в месяц) с его описанием, а чтобы список "товаров" брать откуда-то (из простой базы какой-нибудь) и формировать страницу.

3. Чтобы посетитель сайта не мог залезать в папки сайта и вытягивать от туда какой-нибудь контент.

Никогда этим раньше не занимался. Умею делать простейшие статичные сайты с html5/css/js.

Языки программирования в порядке убывания их знания и частоты использования:

1. С++
2. JavaScript
3. С#
4. Python

PHP и прочее учить желания нет, насколько бы он ни был удобен для написания серверов. Так как не собираюсь заниматься этим профессионально для кого-то. Просто быть в состоянии делать, редактировать и настраивать свой сайт самостоятельно. Поэтому предпочтительно С++/C#, на худой конец JavaScript.

Посоветуйте, с чего начать, чтобы самостоятельно выполнить задачи. Какую субд выбрать? А может без неё обойтись какой-нибудь простейшей табличкой, из которой сервак будет брать данные по товарам и генерить html5 страничку?


#1
17:04, 15 фев. 2015

Как вариант, можно взять готовую CMS типа Wordpress/Joomla, настроить их под себя в админке (темы, внешний вид), поставить дополнительные модули - товары и.т.д.
Это будет, как по мне, самый быстрый и простой способ.

#2
19:24, 15 фев. 2015

NBG
Спасибо за совет!

Но все эти CMS, написанные на PHP, все равно требуют времени, что бы разобраться в деталях, без которых под себя не настроить все как хотелось бы. Т.е. время на разборки и дополнительные приседания с CMS, модулями, PHP мне, как программисту, было бы приянтее и полезнее потратить на разборки с написанием своего сервера на "каком-нибудь" С++ или С#) Или JS.

#3
19:30, 15 фев. 2015

Смотри, тут надо определиться для начала с языками, если C++/c#, то придется свой мини http сервер писать на сокетах или стороннюю библиотеку прикрутить (и вообще досконально изучить протоколы веба нужные), а если поставить готовый веб сервер и использовать специализированные языки, то можно и готовые системы управления сайтами ставить, но это все очень тормознуто реализовано, зато много всего готового, да и php очень прост, похож на C++, но много своих особенностей, ибо это скрипты.

#4
19:41, 15 фев. 2015

geletka
> если C++/c#, то придется свой мини http сервер писать на сокетах или стороннюю
> библиотеку прикрутить (и вообще досконально изучить протоколы веба нужные),

Хочу попробовать этот путь для начала) Какую библиотеку лучше всего выбрать для С++, а какую для C#? Чтобы для новичка, с хорошими доками и примерами?

Насколько я в курсе, то C# подходит только если у моего хостера сервера работают на windows? Или вообще все не так?)

Update: сейчас я сижу на тарифе с сервером Apache:

Каждый клиент получает свою собственную копию программы Apache, что позволяет настраивать HTTP-сервер в соответствии со своими задачами и предпочтениями. Настройка может производится с помощью панели управления или непосредственным редактированием конфигурационных файлов программы (рекомендуется для опытных пользователей).

Какие ограничения это накладывает?

#5
21:24, 15 фев. 2015

Riddik
> мне, как программисту, было бы приянтее и полезнее потратить на разборки с
> написанием своего сервера на "каком-нибудь" С++ или С#) Или JS.

А смысл? Сначала ты будешь пилить 100500 часов HTTP протокол, потом окажется, что для магазина нужна нетривиальная структура SQL базы, а ты даже не брался за это дело... возьми OpenCart и не страдай ерундой.... а освободившееся время потрать лучше на 3d движок для игры.

#6
22:20, 15 фев. 2015

На шарпе все делается достаточно просто на стандартных возможностях, примерно так:
https://github.com/jeske/SimpleHttpServer
либо ASP.NET - микрософтский же фреймворк специально для написания сайтов.

с шарпом правда проблема - нужен сервер с виндой, однако есть mono, на нем оба описанных выше способа работают из коробки, даже билдить не нужно под линукс, просто >mono server.exe .

а вообще - действительно, это как раз тот случай, когда свой велосипед не нужен. Сил и времени потратишь на пару порядков больше, чем если возьмешь конструктор типа той же джумлы и с нул в нем разберешься.

#7
22:33, 15 фев. 2015

0iStalker
> Сначала ты будешь пилить 100500 часов HTTP протокол
Разве нет никаких готовых библиотек для этого?

Poroh
> На шарпе все делается достаточно просто на стандартных возможностях, примерно
> так:
> https://github.com/jeske/SimpleHttpServer
Спасибо, ознакомлюсь)

Poroh
> а вообще - действительно, это как раз тот случай, когда свой велосипед не
> нужен. Сил и времени потратишь на пару порядков больше, чем если возьмешь
> конструктор типа той же джумлы и с нул в нем разберешься.

Да, возможно так и есть. Подумаю над этим.


Вообще чего я ожидал - это существования удобного фреймворка для сервера, где подключения к базе, обработка запросов, формирование html-кода делается парой-тройкой готовых функций, а не 100500 часов только на написания HTTP протокола.

#8
0:58, 16 фев. 2015

Подсказываю решение:
- Взять готовый движок CMS или магазина, с локализациями.
- Найти готовый хостинг под это, для популярных движков очень часто множество предложений с преднастроенным хостингом.
- Потыкать мышкой и настроить всё.
- Открыть пиво.

Причина: писать своё нерентабельно (уйдут человекомесяцы), с первого раза получится криво, дыряво, ужасно, а поскольку учить ты это всё-таки не хочешь то и времени на самокостыльный механизм тебе будет жалко. И если помножить время затраченное на самопротезирование на цену твоего часа работы, то окажется что можно было нанять группу студентов, которые бы тебе построили веб-звездолёт с флеш-порталом и девушками на саппорте и ещё остались бы деньги.

#9
5:37, 16 фев. 2015

Riddik
можно попробовать nodejs в купе с express
только админить придется самому)

получится вот такой код

var express = require('express'); //подключаем модуль экспресс
var app = express(); // создаем экземпляр

app.get('/', function(request, response){ // выполнить коллбек при обращении к корню методом get. 
//В коллбек попадет объект запроса и объект ответа сервака с разными полезными методами
response.send('hello world!'); // отправим пользователю текст
});

app.listen(8080); // слушаем порт 8080

#10
5:48, 16 фев. 2015

Riddik

формирование html-кода делается парой-тройкой готовых функций, а не 100500 часов только на написания HTTP протокола.

Подсказывали выше: C# + ASP.NET (сервер IIS под windows).
Есть CMS бесплатные - DotNetNuke, Umbraco, N2 и другие, с поиском модуля магазина придется повозиться, но можно и свой написать. Как я понял это не проблема.

Под Linux есть вариант с JavaScript, это Node.JS + Express. Первое - аналог javascript, работает как приложение и может являться сервером. второе - веб-фреймворк, как раз то что нужно, чтобы сделать сайт за несколько строк кода, всё очень гибко. Хотя не зная тонкостей можно потерять в стабильности по отношению к php и asp решениям.

#11
9:53, 16 фев. 2015

Всем спасибо за советы)

#12
10:38, 16 фев. 2015

Лучше на пхп
тогда вообще три строчки кода

#13
14:08, 16 фев. 2015

>Разве нет никаких готовых библиотек для этого?
А зачем нужно?
Есть 100500 готовых велосипедов вроде той же джумлы, с огромным наборок свистелок и перделок к ним, вроде того же магазинчика.

Да, php - говно язык. Но очень полезен своей вездесущестью. Можно брать абсолютно любой хостинг - и это говно там гарантированно будет.
Дальше берётся, как я уже говорил, готовый велосипед-магазинчик на php. Даже программировать учиться не надо, только поставить CMS, воткнуть ей готовый плагин магазина, и немного потрахаться с настройками нужных тебе параметров.
Если не планируешь создавать мега-супермаркет на тысячи товаров и тысячи покупателей в час - производительности тормознутого велосипеда хватит за глаза.

Веб-программирование - это отдельное болото, изучить которое с нуля до готового продукта ничуть не легче, чем 3d графику. Своих заморочек и подводных камней в ней полно. Оно тебе надо? Систему Model-View-Controller хочется с нуля курить и поддержку авторизации / сессий пользователя?

#14
15:04, 16 фев. 2015

Cheb
> только поставить CMS, воткнуть ей готовый плагин магазина

Даже это велосипедостроение не нужно, - есть готовая "магазинная" CMS - OpenCart  http://www.opencart.com/ - инсталлируй на любой php хостинг и занимайся наполнением.  Модифицируется/кастомизируется оно тоже очень легко, плюс многие тыщи плагинов в наличии.

Страницы: 1 2 Следующая »
ПрограммированиеФорумВеб

Тема в архиве.