Install Apache through source code compilation
First download Apache source code compressed package, address for http://mirror.bit.edu.cn/apache/httpd/
Continue downloading the apr and apr-util packages at http://mirror.bit.edu.cn/apache/apr/
Download the pcre package at http://ftp.exim.llorien.org/pcre/
L install arp
Tar-zxf apr-1.5.0.tar.gz # decompress the compressed package name according to the version number of the cd apr-1.5.0 # enter the decompressed directory. /configure -- prefix =/usr/local/apr # install and configure make # compile sudo make install # install
L install apr-util
Tar-zxvf apr-util-1.5.3.tar.gz # decompress the compressed package name according to the version number of the cd apr-util-1.5.3 # enter the decompressed directory. /configure -- prefix =/usr/local/apr-util -- with-apr =/usr/local/apr/bin/apr-1-configmake sudo make install
L install pcre
Unzip-o pcre-8.34.zip # decompress the file name depending on the version number of the cd pcre-8.34./configure -- prefix =/usr/local/pcremakesudo make install
L install Apache
Tar-zxvf httpd-2.4.7.tar.gz # unzip the cd httpd-2.4.7 I installed for 2.4.7. /configure -- prefix =/usr/local/apache2 -- with-apr =/usr/local/apr -- with-apr-util =/usr/local/apr-util/makesudo make install
Then start Apache,
Cd/usr/local/apache2/binsudo apachectl-k start or sudo service apache2 start
If the following page is displayed, the installation is successful.
How to Control Apache services
Start:
Sudo service apache2 start or sudo apachectl start
Stop:
Sudo service apache2 stop or sudo apachectl stop
Restart:
Sudo service apache2 restart or sudo apachectl restart
Reload the site:
sudo service apache2 reload
How to make Apache support django
Mod_wsgi is used.
First download mod_wsgi-2.4.tar.gz.
You can download it from the official website.
You can also download it directly here.
Next, run the following command to decompress the compressed package;
tar –zxvf mod_wsgi-3.4.tar.gz
Then cd to the decompressed directory and execute the following command to generate the configuration compilation configuration file;
./configure --with-apxs=/usr/local/apache2/bin/apxs --with-python=/usr/bin/python
/Usr/local/apache2 is the installation directory of Apache. Make sure that apxs exists in the bin directory, and/usr/bin/python is the default installation location of python in Ubuntu.
Next, run the make command to compile;
make
Finally, execute the following command for installation;
sudo make install
If it succeeds, the system prompts "chmod 755/usr/local/apache2/modules/mod_wsgi.so" to authorize mod_wsgi.so.
Follow the prompts to enter the command:
chmod 755 /usr/local/apache2/modules/mod_wsgi.so
Next, install Django:
Django official website (https://www.djangoproject.com/download/) provides two installation methods.
L pip Mode
pip install Django==1.6.2
L direct download compressed package installation, https://www.djangoproject.com/download/1.6.2/tarball/
Tar xzvf Django-1.6.2.tar.gz # unzip the cd Django-1.6.2 # enter the unzip directory sudo python setup. py install
Select either of the above two methods.
After installation, you can check whether the installation is successful in the terminal window.
I installed django 1.7.
How to Create a django website
The default www Service address of Apache is/var/www. After the service is installed, there is only one index.html webpage file.
Next, let's talk about Apache. After Apache is installed in Linux, the installation file exists in two parts, one in the directory specified during installation, the other part is in the/etc/apache2 directory.
Since the directory specified during Apache installation is/usr/local/apache2, apache is distributed in the following two directories on my machine:
And
Go to the/etc/apache2 directory and check the directory structure. The blue directory and the white directory are files.
Httpd. confThe file is usually an empty file. You can add the following commands when setting it later;
Next, let's take a look at several commands in httpd. conf. "#" is followed by comments;
MagicThe file contains data about the mod_mime_magic module, which generally does not need to be modified;
Ports. confThe configuration file set for the server listening IP address and port;
Mod-availableThe directory contains some. conf and. load files, which load the configuration files of various modules that can be used in the system.Mod-enabledThe directory is a symbolic connection to these configuration files. From the configuration file apache (the most popular WEB server platform on the Unix platform) 2. conf, we can see that the system usesMod-enabledDirectory to load the module, that is, the system only creates a symbolic connectionMod-availableDirectory to load the module. The system also provides two Commands: a2enmod and a2dismod to maintain these symbolic connections. These two commands are provided by apache (the most popular WEB server platform on the Unix platform) 2-common package. Various commands are also very simple: a2enmod [module] Or a2dismod [module];
Sites-availableThe configuration file of the configured site in the directory,Sites-enabledThe directory is a symbolic connection to these configuration files. The system uses these symbolic connections to start the site.Sites-enabledThe symbolic connection in the directory is attached with a numeric prefix, such as 000-default. This number is used to determine the startup sequence. The smaller the number, the higher the startup priority. the system provides two commands, a2ensite and a2dissite, to maintain these symbolic connections. These two commands are provided by the apache (the most popular WEB server platform on the Unix platform) 2-common package;
Apache configuration is introduced here. Next, configure the Django website.
The default server address of Apache is the var/www directory. You do not need to modify this location. Run cd to the/var/www directory to create a new Django project. Run the following command:
sudo django-admin.py startproject mysite
The directory structure of the created project is as follows:
Mysite/
Manage. py
Mysite/_ init _. py
Settings. py
Urls. py
Wsgi. py
You can use
python manage.py runserver 8000
Test whether the django project is successfully created. If an error is prompted, it may be because django uses the sqllite database by default. You only need to add db. sqllite3 In the mange. py directory at the same level.
Then, I plan to run mysite on port 8888.
Modify/etc/apache2/ports. conf.
NameVirtualHost *:80Listen 80
Add
NameVirtualHost *:8888Listen 8888
Indicates that the virtual host of VirtualHost *: 8888 listens to port 8888, and the default VirtualHost *: 80 virtual host listens to port 80.
Next, let apache load our own project website, go to the apache configuration directory/etc/apache/sites-available, and create a configuration file for our website.
sudo vim mysite
Add the following Configuration:
<VirtualHost *:8888> DocumentRoot /var/www/mysite/mysite <Directory /var/www/mysite/mysite> Order allow,deny Allow from all </Directory> WSGIScriptAlias / /var/www/mysite/mysite/wsgi.py</VirtualHost>
Add the following configuration in/etc/apache2/httpd. conf:
<VirtualHost *:8888> DocumentRoot /var/www/mysite/mysite <Directory /var/www/mysite/mysite> Order allow,deny Allow from all </Directory> WSGIScriptAlias / /var/www/mysite/mysite/wsgi.py</VirtualHost>
Add the following code to/var/www/mysite/wsgi. py:
import syssys.path.append("/var/www/mysite/")
Add the website directory to the environment variable. If the website directory is no longer in the environment variable, an error occurs.
Activate my new mysite website and execute the following command:
Sudo a2ensite mysite # Here, mysite is the name of the configuration file created in sites-available.
Reload the website:
sudo service apache2 reload
Then run
sudo service apache2 restart
Restart the apache service.
Open 127.0.0.1: 8888 in the browser and you will see the following page:
Note: If you do not want to create a new website configuration file, add the default configuration in etc/apache2/httpd. conf:
WSGIScriptAlias / "/ var/www/mysite/mysite/wsgi.py"<Directory " /var/www/mysite/mysite">Order Deny,AllowAllow from all</Directory>
For the first configuration, if you have any errors or omissions, please send a reminder or give us some advice. If you have any questions, please leave a message.