GRUB не взаимодействует с моим новым измененным размером раздела, ошибка throw: нет такого устройства '

LAMP-C ++ с web.py

Все файлы, доступные в git repo -> link

1) Сеть:

Если вы хотите видеть свою службы / сайта в домашней подсети (192.168.xxx.xxx IP-s), то вы должны убедиться, что IP-адреса стабильны. У меня есть роутер, у которого есть встроенный DHCP-сервер, который передает IP-адреса домашней подсети устройствам, на основе которых сначала подключен. Существует два способа решения этой проблемы: вы можете настроить устройство конфигурации на предпочтительный IP-адрес в домашней подсети или настроить DHCP-исключения на вашем маршрутизаторе (например, через веб-интерфейс, 192.168.1.1). После настройки (или если вам не нужны никакие настройки на основе ваших настроек маршрутизации), вы можете определить IP-адрес своего компьютера с помощью ifconfig Update / etc / hosts, чтобы иметь правильное разрешение DNS на вашей машине dev:
#loopback
127.0.0.1       localhost    #default
127.0.1.1       MY_PC        #if your PC has a name

#home subnet
#192.168.1.2    mysite.com   #ethernet IP
192.168.1.10    mysite.com   #wifi IP

2) Apache

Если вы хотите видеть свою службу / сайт в домашней подсети (192.168.xxx.xxx IP-адреса), вы должны убедиться, что IP-адреса стабильны. У меня есть роутер, у которого есть встроенный DHCP-сервер, который передает IP-адреса домашней подсети устройствам, на основе которых сначала подключен. Существует два способа решения этой проблемы: вы можете настроить устройство конфигурации на предпочтительный IP-адрес в домашней подсети или вы можете настроить исключения DHCP на своем маршрутизаторе (например, через веб-интерфейс, 192.168.1.1).

Если вы хотите увидеть свой сервис / сайт в домашней подсети (192.168.xxx.xxx IP-адреса), тогда вы должны убедиться, что IP-адреса стабильны. У меня есть роутер, у которого есть встроенный DHCP-сервер, который передает IP-адреса домашней подсети устройствам, на основе которых сначала подключен. Существует два способа решения этой проблемы: вы можете настроить устройство конфигурации на предпочтительный IP-адрес в домашней подсети или настроить DHCP-исключения на вашем маршрутизаторе (например, через веб-интерфейс, 192.168.1.1).

cd /etc/apache2 && ll
После настройки (или если вам не нужны никакие настройки, основанные на настройках маршрутизации), вы можете определить IP-адрес своего компьютера с помощью ifconfig

После настройки (или в случае, если вам не нужна ни одна на основе вашей маршрутизации предпочтения), вы можете определить IP-адрес своего компьютера с ifconfig

# sets Apache listen on port 80
Listen *:80
Обновить / etc / hosts, чтобы иметь правильное разрешение DNS на вашей машине dev:
#loopback
127.0.0.1       localhost    #default
127.0.1.1       MY_PC        #if your PC has a name

#home subnet
#192.168.1.2    mysite.com   #ethernet IP
192.168.1.10    mysite.com   #wifi IP

Обновите / etc / hosts, чтобы иметь правильное разрешение DNS на вашей машине dev:



WSGIScriptAlias / /path/to/wsgi/entry/point/script/


    Require all granted
    Options Indexes FollowSymLinks


ServerName mysite.com
ServerAlias www.mysite.com
DocumentRoot /path/to/work/www/mysite/


    Require all granted
    Options Indexes FollowSymLinks


# to serve static content
Alias /static /path/to/work/www/mysite/static/

#for wsgi script, if you intend ro use .py extension
AddType text/html .py


проверить права на каталог вашего сайта. добавьте свой сайт:
sudo a2ensite mysite.com
перезапустите службу apache2:
sudo service apache2 restart
проверьте, что apache2 запущен:
ps ax | grep apache2
проверьте, что apache прослушивает порт 80 при подключении от кого-либо:
sudo netstat -anp | grep apache
Выход вроде:
tcp6    0     0 :::80      :::*       LISTEN      1996/apache2

[d17 ] Заполните конфигурацию (у Apache 2.4 есть другой макет конфигурации, скажем, Apache 2.2):

sudo apt-get install libapache2-mod-wsgi

ports.conf:

sites-available / mysite.com.conf (точно с ".com" part !!!):

sudo apt-get install python
sudo apt-get install python-pip

3) mod_wsgi

sudo pip install web.py

После этого вы должны иметь wsgi.conf и wsgi.load в каталоге / etc /apache2/mods-enabled.

sudo apt-get autoremove
sudo apt-get install libboost-all-dev

4) Установить python

5) Установить web.py (сайт webpy.org был заменен ссылкой )

6) Установить boost (autoremove помогло мне с проблемой сломанных пакетов, поэтому на всякий случай):

7) Установить mysql:

link [!d45 ]

Создайте тест базы данных, приветствуйте таблицу с идентификатором INT и VARCHAR (100) msg ​​и вставьте 'Hello world!' внутрь. Ссылка, приведенная выше, содержит некоторые ресурсы о том, как достичь этого внизу, если вы новичок в mysql.

Если вы хотите увидеть свой сервис / сайт в домашней подсети ( 192.168.xxx.xxx IP-s), вы должны убедиться, что IP-адреса стабильны. У меня есть роутер, у которого есть встроенный DHCP-сервер, который передает IP-адреса домашней подсети устройствам, на основе которых сначала подключен. Существует два способа решения этой проблемы: вы можете настроить устройство конфигурации на предпочтительный IP-адрес в домашней подсети или настроить DHCP-исключения на вашем маршрутизаторе (например, через веб-интерфейс, 192.168.1.1).

cd /etc/apache2 && ll
[ ! d16] Обновите переменные среды .bashrc PATH для LD и PYTHON:
# PATH env vars
export PATH=$PATH:/usr/lib/x86_64-linux-gnu
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib:/usr/local/lib
export PYTHONPATH = $PYTHONPATH:\
/path/to/work/:\
/path/to/work/myproject/:\
/path/to/work/myproject/mysite/:\
/path/to/work/myproject/myproject_back/:\
/path/to/work/www:\
/path/to/work/www/mysite/

После настройки (или если вам не нужны ни один на основе ваших настроек маршрутизации), вы можете определить IP-адрес своего компьютера с помощью [ f24]

# sets Apache listen on port 80
Listen *:80
Записать код на Python:

Обновить / etc / hosts, чтобы иметь правильное разрешение DNS на вашей машине dev:



WSGIScriptAlias / /path/to/wsgi/entry/point/script/


    Require all granted
    Options Indexes FollowSymLinks


ServerName mysite.com
ServerAlias www.mysite.com
DocumentRoot /path/to/work/www/mysite/


    Require all granted
    Options Indexes FollowSymLinks


# to serve static content
Alias /static /path/to/work/www/mysite/static/

#for wsgi script, if you intend ro use .py extension
AddType text/html .py


myproject_front .py: [указать WSGIScriptAlias ​​в apache2 config]
import web             #web.py framework
import gateway_front   #python adapter to c++

urls = (
    '/.*', 'hello',    #url pattern for web.py to call hello.GET beneath
    )

class hello:
    def GET(self):  
        #some browsers don't like plain text, so I use html
        web.header( 'Content-type', 'text/html' )  
        g = gateway_front.Gate() # get gateway to c++
        s = g.hello()            # get 'Hello World' message
        return str(s)            # return it as a HTTP response

#sets web.py's func as WSGI entry point
application = web.application(urls, globals()).wsgifunc() 

# to test from console
def main():
    g = backend.Gate()
    s = g.getDefaultQuote()
    print s

if __name__ == '__main__':
    main()
проверить права на каталог вашего сайта.

проверить права на каталог вашего сайта.

добавить свой сайт:
sudo a2ensite mysite.com

добавить свой сайт:

Это было взято из официальной документации Oracle, ссылки и немного модифицировано.
#include 
#include 
#include 

#include "mysql_connection.h"

#include 
#include 
#include 
#include 

using namespace std;

char const* hello()
try {
  sql::Driver *driver;
  sql::Connection *con;
  sql::Statement *stmt;
  sql::ResultSet *res;

  /* Create a connection */
  driver = get_driver_instance();

  // MySQL IP address and your username
  con = driver->connect("tcp://127.0.0.1:3306", "username", "username");
  /* Connect to the MySQL test database */
  con->setSchema("test"); //your db name

  stmt = con->createStatement();
  res = stmt->executeQuery("SELECT * from hello;");

  string result;

  while (res->next()) {
    /* Access column data by alias or column name */
    result = res->getString("msg");  // field in db with actual 'Hello World'
    return result.c_str();
  }
  delete res;
  delete stmt;
  delete con;

} catch (sql::SQLException &e) {
  cerr << "# ERR: SQLException in " << __FILE__;
  cerr << "(" << __FUNCTION__ << ") on line "
     << __LINE__ << endl;
  cerr << "# ERR: " << e.what();
  cerr << " (MySQL error code: " << e.getErrorCode();
  cerr << ", SQLState: " << e.getSQLState() << " )" << endl;
}
перезапустить службу apache2:
sudo service apache2 restart

перезапустить службу apache2:

проверить, что apache2 запущен:
ps ax | grep apache2
[d48 ] Кстати, Oracle сделал бесплатный графический интерфейс для mysql, он называется MySQL Workbench, здесь. Вам потребуется регистрация Oracle (бесплатно), чтобы загрузить ее.

0
задан 9 August 2017 в 22:06

0 ответов

Другие вопросы по тегам:

Похожие вопросы: