分类 云计算 下的文章

在CentOS 7系统装 uWSGI Nginx Django

应 云友 - “mango爱好 ” 在 帖子 要求,找在 CentOS 7 系统安装 nginx + uWSGI + Diango 的资料。

找到一篇英文的,粗略翻译及实践如下,此例中是假设将相应的文件放在 liujia 用户目录下(/home/liujia),以普通用户 liujia 用户登录到控制台:

1.添加 EPEL 软件源:
sudo yum install epel-release
bbs-aliyun-dongshan3-257295-1.png

2.安装 pip 工具:
sudo yum install python-pip

3.安装 python 虚拟环境工具:
sudo pip install virtualenv virtualenvwrapper
bbs-aliyun-dongshan3-257295-2.png

4.更改bash Shell的设置:

echo "export WORKON_HOME=~/Env" >> ~/.bashrc
echo "source /usr/bin/virtualenvwrapper.sh" >> ~/.bashrc
source ~/.bashrc

5.创建第一个python应用:
mkvirtualenv firstsite

6.安装 diango
pip install django

7.生成相应的目录:

cd ~
django-admin.py startproject firstsite

8.完成基本设置,如设置管理用户名和密码:

cd ~/firstsite
./manage.py migrate
./manage.py createsuperuser

9.编辑配置文件,在末行添加静态文件目录:
vi firstsite/settings.py

STATIC_ROOT = os.path.join(BASE_DIR, "static/")

10.更新应用设置,自动生成 static 目录:
./manage.py collectstatic

11.测试应用是否能正常运行,如果在浏览器里能访问8080端口的内容,即成功:
./manage.py runserver 0.0.0.0:8080
bbs-aliyun-dongshan3-257295-3.png

12.安装 python 开发包:
sudo yum install python-devel gcc
bbs-aliyun-dongshan3-257295-4.png

13.安装uWSGI:
sudo pip install uwsgi

14.测试 uWSGi 是否能正常运行:
uwsgi --http :8080 --home /home/user/Env/firstsite --chdir /home/user/firstsite -w firstsite.wsgi

15.创建 uWSGI 运行的配置文件 firstsite.ini:

sudo mkdir -p /etc/uwsgi/sites
cd /etc/uwsgi/sites
sudo vi firstsite.ini

配置文件内容如下:

[uwsgi]
project = firstsite
username = liujia
base = /home/%(username)
chdir = %(base)/%(project)
home = %(base)/Env/%(project)
module = %(project).wsgi:application
master = true
processes = 5
uid = %(username)
socket = /run/uwsgi/%(project).sock
chown-socket = %(username):nginx
chmod-socket = 660
vacuum = true

16.创建 uWSGI 启动脚本 uwsgi.service:
sudo vi /etc/systemd/system/uwsgi.service
文件内容如下:

[Unit]
Description=uWSGI Emperor service
[Service]
ExecStartPre=/usr/bin/bash -c 'mkdir -p /run/uwsgi; chown liujia:nginx /run/uwsgi'
ExecStart=/usr/bin/uwsgi --emperor /etc/uwsgi/sites
Restart=always
KillSignal=SIGQUIT
Type=notify
NotifyAccess=all
[Install]
WantedBy=multi-user.target

17.安装 nginx:
sudo yum install nginx

18.编辑 nginx 的配置文件,添加 server 内容:
sudo nano /etc/nginx/nginx.conf
增加的内容如下:

server {
    listen 80;
    server_name portal.anqun.org;
    location = favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/liujia/firstsite;
    }
    location / {
        include uwsgi_params;
        uwsgi_pass unix:/run/uwsgi/firstsite.sock;
    }
}

bbs-aliyun-dongshan3-257295-5.png

19.保存后测试配置文件是否有错误:
sudo nginx -t

20.将普通用户 nginx 加到 liujia 组中:

sudo usermod -a -G liujia nginx
chmod 710 /home/liujia

21.启动 uWSGI 和 nginx 服务:
sudo systemctl start nginx
sudo systemctl start uwsgi
bbs-aliyun-dongshan3-257295-6.png

22.如果启动成功,将俩服务设置为自动启动:
sudo systemctl enable nginx
sudo systemctl enable uwsgi

源文:How To Serve Django Applications with uWSGI and Nginx on CentOS 7, https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-uwsgi-and-nginx-on-centos-7

在CentOS 6系统上安装 Kaltura 视频站点程序

感谢罗老板。

环境: CentOS 6 64位。

目的:安装好 Kaltura 程序。安装包有的在国外,安装完成,可能需要4小时左右。

过程:

1.编辑 /etc/hosts 文件,设置主机名:
bbs-aliyun-dongshan3-257086-1.png

2.关闭防火墙:
iptables -F
service iptables stop
chkconfig iptables off

3.禁用 SELinux:
setenforce permissive

4.安装 Kaltura 软件源:
rpm -ihv http://installrepo.kaltura.org/releases/kaltura-release.noarch.rpm

5.安装并配置 mysql 数据库服务端:
yum install mysql mysql-server
service mysqld start
mysql_secure_installation
chkconfig mysqld on

bbs-aliyun-dongshan3-257086-2.png

4.重启 postfix 邮件服务:
service postfix restart

5.安装 Kaltura 程序包:
yum clean all
yum install kaltura-server

6.运行 mysql 配置脚本:
/opt/kaltura/bin/kaltura-mysql-settings.sh

7.重启 memcached, ntpd 服务:
service memcached restart
service ntpd restart
chkconfig memcached on
chkconfig ntpd on

8.运行 Kaltura 配置脚本,按提示选择或输入,关键是设置好站点的URL地址:
/opt/kaltura/bin/kaltura-config-all.sh

bbs-aliyun-dongshan3-257086-3.png

bbs-aliyun-dongshan3-257086-4.png

bbs-aliyun-dongshan3-257086-5.png

bbs-aliyun-dongshan3-257086-6.png

9.安装 red5-server 软件:
yum install kaltura-red5
bbs-aliyun-dongshan3-257086-7.png

10.请自行想办法(如用国外代理),下载文件oflaDemo-java6.war,放到 /usr/lib/red5/webapps 目录:
proxychains wget http://red5.googlecode.com/svn/snapshots/oflaDemo-java6.war
bbs-aliyun-dongshan3-257086-8.png

11.修改文件 /usr/lib/red5/webapps/oflaDemo/index.html 中的 localhost 为实际的网站地址,如 yun.anqun.org :

12.访问地址,如 http://yun.anqun.org:5080/oflaDemo/ 测试演示视频是否能正确播放:
bbs-aliyun-dongshan3-257086-9.png

13.执行 red5-server 配置脚本:
/opt/kaltura/bin/kaltura-red5-config.sh

源文:Installing Kaltura on a Single Server (RPM), https://github.com/kaltura/platform-install-packages/blob/master/doc/install-kaltura-redhat-based.md

在Debian 7系统安装 nginx + php + mysql 基本环境(译)

网上关于设置php环境的教程不少,阿里云网站上也有一键安装的脚本等。

这里,看到网上的一篇在Debian 7上安装 nginx + php + mysql 的教程,觉得容易上手,就实践了一下,顺便记录下来,方便其他人使用。

过程:

1.替换系统默认的apt安装源,因为目前Debian 8是最新的稳定版本而不是7:

deb http://mirrors.163.com/debian/ wheezy main non-free contrib
deb http://mirrors.163.com/debian/ wheezy-updates main non-free contrib
deb http://mirrors.163.com/debian/ wheezy-backports main non-free contrib
deb-src http://mirrors.163.com/debian/ wheezy main non-free contrib
deb-src http://mirrors.163.com/debian/ wheezy-updates main non-free contrib
deb-src http://mirrors.163.com/debian/ wheezy-backports main non-free contrib
deb http://mirrors.163.com/debian-security/ wheezy/updates main non-free contrib
deb-src http://mirrors.163.com/debian-security/ wheezy/updates main non-free contrib

2.更新软件库:
apt-get update

3.安装mysql数据库服务端:
apt-get install mysql-server
bbs-aliyun-dongshan3-256024-1.png

4.安装php及相应的组件:
apt-get install nginx php5-fpm php5-mysql php5-gd php5-curl php5-mcrypt
bbs-aliyun-dongshan3-256024-2.png

  1. 编辑默认站点的配置文件,启用php文件功能:
    vi /etc/nginx/sites-enabled/default
    bbs-aliyun-dongshan3-256024-3.png
  2. 编辑php配置文件,更改其中cgi path的设置:
    /etc/php5/fpm/php.ini
    bbs-aliyun-dongshan3-256024-4.png
  3. 重启php进程:
    /etc/init.d/php5-fpm restart
  4. 重启nginx进程:
    /etc/init.d/nginx start
  5. 创建一个info.php页面,并访问,看是否能成功:
    echo "<?php phpinfo(); ?>" > /usr/share/nginx/www/info.php
    bbs-aliyun-dongshan3-256024-5.png

源文: How to install Nginx with PHP and MySql support on wheezy, http://www.debiantutorials.com/how-to-install-nginx-with-php-and-mysql-support-on-wheezy/

在Debian 7系统安装 MediaDrop - 视频分享站点程序

感谢罗老板。

目的:在Debian 7 64位系统上安装视频分享站点程序——MediaDrop 。

难点:MediaDrop的安装源在国外,python包有依赖,可能需要多次尝试,才能完成。

过程:

1.先使用网易的软件库源替换默认的阿里云源。原因可能阿里云源未更新,可能会出现 “x86_64-linux-gnu-gcc: error: unrecognized command line option” 的错误

deb http://mirrors.163.com/debian/ wheezy main non-free contrib
deb http://mirrors.163.com/debian/ wheezy-updates main non-free contrib
deb http://mirrors.163.com/debian/ wheezy-backports main non-free contrib
deb-src http://mirrors.163.com/debian/ wheezy main non-free contrib
deb-src http://mirrors.163.com/debian/ wheezy-updates main non-free contrib
deb-src http://mirrors.163.com/debian/ wheezy-backports main non-free contrib
deb http://mirrors.163.com/debian-security/ wheezy/updates main non-free contrib
deb-src http://mirrors.163.com/debian-security/ wheezy/updates main non-free contrib

2.更新软件库:
apt-get update

3.安装相应的软件:
apt-get install mysql-server mysql-client libjpeg-dev zlib1g-dev libfreetype6-dev libmysqlclient-dev python-dev python-setuptools python-virtualenv git
bbs-aliyun-dongshan3-255887-1.png

4.切换到根目录, 创建虚拟python环境:

cd /
virtualenv --no-site-packages venv
source venv/bin/activate

5.获取 MediaDrop 的安装文件:
git clone git://github.com/mediadrop/mediadrop.git mediadrop-git

6.切换到 MediaDrop 目录,下载安装依赖包:
cd mediadrop-git
python setup.py develop
bbs-aliyun-dongshan3-255887-2.png

7.生成 deployment.ini 配置文件
paster make-config MediaDrop deployment.ini

8.连上mysql服务端,创建好程序要用到的mysql数据库和用户:

mysql -u root -p
create database mediadrop_db;
grant usage on mediadrop_db.* to mediadrop_user@localhost identified by 'aliyun888';
grant all privileges on mediadrop_db.* to mediadrop_user@localhost;
exit;

9.修改配置文件 deployment.ini 中的mysql连接参数,如此例中的,修改后是:
sqlalchemy.url = mysql://mediadrop_user:aliyun888@localhost/mediadrop_db?charset=utf8&use_unicode=0
bbs-aliyun-dongshan3-255887-3.png

10.补装 aniso8601 的ptyhon包:
pip install aniso8601
bbs-aliyun-dongshan3-255887-4.png

11.安装主体程序:
paster setup-app deployment.ini

12.更新数据库,利于全文搜索:
mysql -u root mediadrop_db < setup_triggers.sql -p

13.启动测试,如果顺利,可以通过 http://ip:8080 访问到站点前台:
paster serve --reload deployment.ini

bbs-aliyun-dongshan3-255887-5.png

bbs-aliyun-dongshan3-255887-6.png

bbs-aliyun-dongshan3-255887-7.png

源文: UBUNTU SERVER 14.04 (TRUSTY TAHR) – QUICK MEDIADROP INSTALLATION, https://pricklytech.wordpress.com/2014/08/19/ubuntu-server-14-04-trusty-tahr-quick-mediadrop-installation/

在CentOS 6系统上安装php 5.4和mysql 5.5

感谢“好源”。

起因:在 CentOS 6 32位系统上用yum命令安装好php 5.3和mysql 5.1,但在导入旧站数据文件时,提示“ERROR 1115 (42000) : Unknown character set: 'utf8mb4' in mysql”,网上搜索得知需mysql 5.5.3版本上才支持这种字符集,所以按照网上的教程,将php版本升级到php5.4,mysql版本升级到mysql5.5.45。

bbs-aliyun-dongshan3-255599-1.png

过程如下:

  1. 安装好软件源:
    rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
    bbs-aliyun-dongshan3-255599-2.png
  2. 升级php及mysql软件:
    yum --enablerepo=remi,remi-test install mysql mysql-server
    bbs-aliyun-dongshan3-255599-3.png
  3. 如果顺利,可在phpinfo函数输出的信息中可以看到升级后的版本号
    bbs-aliyun-dongshan3-255599-4.png

参考: