在VMware Ware中安装了unbuntu 16.04麒麟版本,安装了flash,开发用的pycharm
编译安装httpd 2.4,网上各种教程一大把
1 下载httpd2.4
http://httpd.apache.org/download.cgi#apache24
2 官方编译安装文档
http://httpd.apache.org/docs/2.4/install.html
3 安装依赖apr and apr-util
下载apr apr-util
http://apr.apache.org/download.cgi
安装apr:
$ sudo ./configure
$ sudo make
$ sudo make install
安装apr-util:
$ sudo ./configure --with-apr=/usr/local/apr
$ sudo make
$ sudo make install
4 安装pcre
sudo apt-get install libpcre3 libpcre3-dev
5 编译安装apache,这里工作模式设为prefork模式
./configure -prefix=/usr/local/apache2
–enable-module=share
–with-mpm=prefork
6 使用apachectl启动apahce
注意使用apahcectl,apache配置文件在/usr/local/xxx/conf/httpd.conf
apachectl 的命令选项参考官网手册:
$ apachectl start
$ apachectl stop
$ apachectl restart
修改配置文件服务器名以及监听端口,按上述命令启动apache
在官网根据教程选择安装最新版本mysql
http://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/
- 下载apt仓库 http://dev.mysql.com/downloads/repo/apt/.
- 选择正确的linux版本
- 安装源
shell> sudo dpkg -i /PATH/version-specific-package-name.deb
shell> sudo apt-get update
shell> sudo apt-get install mysql-server
$ sudo service mysql status
$ sudo service mysql stop
$ sudo service mysql start
$ mysql -u root -p
需要配置一下mysql以使能够远程连接mysql
http://www.linuxdiyf.com/linux/15206.html
主要是配置远程连接端口,以及远程连接权限
用 netstat 查看3306端口是否打开
netstat -an |grep mysql 3306
在/etc/mysql/mysql.conf.d/mysqld.cnf 中配置端口
将bind-address = 127.0.0.1注销,保存退出后,重启mysql服务
用root登陆,以及修改权限,xxxxxx为密码
mysql>grant all privileges on *.* to 'root'@'%' identified by 'xxxxxx';
flush privileges;
ubuntu 16.04 自带python 3.5.1,于是就直接用这个版本的python开发,但是需要安装pip3,以及django
$sudo apt-get install python3-pip
$sudo pip3 install django
mod_wsgi官方参考文档
https://modwsgi.readthedocs.io/en/develop/user-guides/quick-installation-guide.html
1 下载安装mod_wsgi
下载:
https://github.com/GrahamDumpleton/mod_wsgi/releases
解压、编译、安装:
注意需要指定apx路径以及python路径
$ tar xvfz mod_wsgi-X.Y.tar.gz
$ ./configure --with-apxs=/usr/local/apache2/bin/apxs --with-python=/usr/bin/python3
$sudo make
$sudo make install
2 将mod_wsgi模块加载到apache
在前述apache安装说明中的配置文件中的模块配置节部分加入,
LoadModule wsgi_module modules/mod_wsgi.so
然后重启apache服务
$ sudo apachectl restart
至此环境搭建完毕,接下来为附加内容,将django部署到apache
1 已经下载了pycharm,利用IDE直接创建了一个新的django工程
2 使用的python3,连接mysql需要安装pymysql模块,并且在django工程中进行相关配置。
$ pip3 install pymysql
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', #数据库引擎
'NAME': 'test', #数据库名
'USER': 'root', #用户名
'PASSWORD': 'root', #密码
'HOST': '', #数据库主机,默认为localhost
'PORT': '', #数据库端口,MySQL默认为3306
'OPTIONS': {
'autocommit': True,
},
}
}
在站点的init.py文件中,我们添加如下代码:
import pymysql
pymysql.install_as_MySQLdb()
3 同步数据库
python3 manage.py makemigrations
python3 manage.py migrate
4 收集静态文件,便于apache处理js、css等静态文件
python3 manage.py collectstatic
参考自强学堂教程
http://www.ziqiangxuetang.com/django/django-deploy.html
1 在django中创建静态文件夹以及设置相关路径
collected_static文件夹:方便apache收集处理静态文件
$ python3 manage.py collectstatic
media用于存储媒体文件
在settings.py中添加配置:
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.10/howto/static-files/
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'collected_static')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
2 配置apache
$ sudo vim path/to/httpd.conf
监听8080端口
Listen 8080
添加如下配置节,具体含义可以参考官方手册
ServerName 127.0.0.1:8080
ServerAdmin [email protected]
#指定media文件夹URL别名
Alias /media/ /home/xiaotong/project/smart_class/smart_class/media/
#指定collected_static文件夹URL别名
Alias /static/ /home/xiaotong/project/smart_class/smart_class/collected_static/
#配置这两个文件夹的访问权限
Require all granted
Require all granted
#指定django工程中wsgi.py的位置
WSGIScriptAlias / /home/xiaotong/project/smart_class/smart_class/smart_class/wsgi.py
#使用virtualenv以及守护模式,需要
# WSGIDaemonProcess ziqiangxuetang.com python-path=/home/tu/blog:/home/tu/.virtualenvs/blog/lib/python2.7/site-packages
# WSGIProcessGroup ziqiangxuetang.com
Require all granted
3 在浏览器输入127.0.0.1:8080就可以访问了