linux虚机配置开发/Server环境全集
Posted Python_ZEN
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux虚机配置开发/Server环境全集相关的知识,希望对你有一定的参考价值。
9. centos 升级git
http://www.cnblogs.com/grimm/p/5368777.html
a.
下载git2.2.1并将git添加到环境变量中
># wget https://github.com/git/git/archive/v2.2.1.tar.gz
># tar zxvf v2.2.1.tar.gz
># cd git-2.2.1># make configure
># ./configure --prefix=/usr/local/git --with-iconv=/usr/local/libiconv
># make all doc
># make install install-doc install-html>
# echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
># source /etc/bashr
b.
在安装perl的模块时候,出现这个错误:
Can\'t locate ExtUtils/MakeMaker.pm in @INC
解决方法如下:
1
2
3
4
5
6
7
|
cd /root
wget http://files.directadmin.com/services/9.0/ExtUtils-MakeMaker-6.31.tar.gz
tar xvzf ExtUtils-MakeMaker-6.31.tar.gz
cd ExtUtils-MakeMaker-6.31
perl Makefile.PL
make
make install
|
上一步报错的话
yum install perl-ExtUtils-MakeMaker
d.
还会报错,提示超不到curl
CentOS的话,使用yum安装curl开发相关库后:
$ yum install libcurl-devele. 找不到asciidoc , 注意添加路径
wget http://sourceforge.net/projects/asciidoc/files/asciidoc/8.6.9/asciidoc-8.6.9.tar.gz
f. 又又又缺包yum search XSLTPROC
然后安装,加环境变量。。。。。。g. warning: failed to load external entity "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"
h. #yum -y install xmlto
否则会编译不通过:
i. git init后提示????,而且没有创建成功
chmod 777 使用的文件夹,因为当前用户没有权限
终于Finally。。。。。。。。。。。。。。。。。能用了
8.部署flask
遇到问题1: uwsgi提示无法load configurtion from XX.ini这个配置文件不能叫uwsgi类的文件名,叫myXX.ini吧 2.提示找不到manager.py,正常的因为就没这个文件,应该叫manage.py
1、安装nginx
安装nginx之前先要安装gcc编译器和相关工具,使用yum安装,非常方便。
$ sudo yum -y install gcc gcc-c++ make autoconf automake
nginx的一些模块需要第三方库的支持,例如gzip需要zlib,rewrite模块需要pcre库,ssl功能需要openssl库。直接使用yum安装就行了。
$ sudo yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
前往nginx官网nginx.org下载最新的版本,笔者下载的是1.2.7的版本。
$ wget http://nginx.org/download/nginx-1.2.7.tar.gz
解压安装
$ tar -zxv -f nginx-1.2.7.tar.gz
$ cd nginx-1.2.7
$ ./configure
$ make
$ sudo make install
这里configure使用的都是默认的参数,可以根据自己的需要进行修改。可以使用./configure –help查看帮助说明。
启动nginx服务器
sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
其中/usr/local/nginx/sbin/nginx表示启动程序,这里用全路径更加直观,可以根据自己的习惯做软链接到系统路径。
使用浏览器访问http://127.0.0.1/,如果看到Welcome to nginx!的字样,就表示安装成功了。
2、安装uwsgi
先安装相关依赖python-devel、setuptools,libxml2-devel,直接用yum安装。如果是自行编译安装的python,可以不用安装python-devel。
$ sudo yum -y install python-devel python-setuptools libxml2-devel
前网官网http://projects.unbit.it/uwsgi/下载uwsgi,虽然页面都是英文的,但是不难找到到下载页面。
$ wget http://projects.unbit.it/downloads/uwsgi-1.9.tar.gz
解压安装:
$ tar -zxv -f uwsgi-1.9.tar.gz
$ cd uwsgi-1.9
$ python setup.py install
3、安装flask
前往官网http://flask.pocoo.org/下载flask。
$ wget http://pypi.python.org/packages/source/F/Flask/Flask-0.9.tar.gz
解压安装
$ tar -zxv -f Flask-0.9.tar.gz
$ cd Flask-0.9
$ sudo python setup.py install
新建flask项目,就一个程序文件app.py,内容如下:
from
flask
import
Flask
app
=
Flask(__name__)
@app
.route(
"/"
)
def
hello():
return
"Hello World!"
if
__name__
=
=
"__main__"
:
app.run()
确保用flask自带的web服务器能够运行。
4、配置nginx和uwsgi
这个步骤是比较麻烦,但是理解原理后也不难。
uwsgi在nginx 1.2.7是标准模块,所以不需要安装。编辑nginx的配置文件,使其加载uwsgi。
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:3031;
root html;
index index.html index.htm;
}
修改完成后可以测试下配置文件是否没有错误。
$ sudo /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
配置完成之后,重新启动nginx。先找到nginx主进程编号:
$ ps -ef | grep nginx
笔者电脑上是13367,然后重新启动
$ sudo kill -HUP 13367
在flask的项目下新建一个配置文件app_config.xml,用来设置uwsgi相关的参数,一会uwsgi在启动时需要指明这个配置文件,内容如下:
<
uwsgi
>
<
pythonpath
>/home/chenjiebin/web/flaskdemo</
pythonpath
>
<
module
>app</
module
>
<
callable
>app</
callable
>
<
socket
>127.0.0.1:3031</
socket
>
<
master
/>
<
processes
>4</
processes
>
<
memory-report
/>
</
uwsgi
>
其中个参数表示:
- pythonpath表示项目目录
- module表示项目启动模块,如上例为app.py,这里就为app
- callable表示flask项目的实例名称,上例代码中app = Flask(__name__),所以这里为app
- socket表示和nginx通信的地址和端口,和nginx配置里的uwsgi_pass一致。
- processes表示开启多少个子进程处理请求。
启动uwsgi:
$ sudo /usr/local/bin/uwsgi -x /home/chenjiebin/web/flaskdemo/app_config.xml
其中-x参数表示加载的配置文件路径。
这时候在浏览器里访问http://localhost,看到输出Hello World!就大功告成了。
小提示:如果需要让uwsgi以守护进程的方式运行,使用-d参数并指明日志路径就可以了。
$ sudo /usr/local/bin/uwsgi -x /home/chenjiebin/web/flaskdemo/app_config.xml -d /var/log/uwsgi/uwsgi.log
小结
nginx和uwsgi之间的通信这里是使用端口进行通信,也可以使用socket文件。uwsgi的配置也可以使用其他的配置文件,不一定要用xml,这里就不再说明了。有什么一问题可以来信交流。
Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里
更多CentOS相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14
本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-05/101529.htm
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7.centos 升级python,以及安装pip
1. 安装必要的准备包
安装过程将用到gcc,方便起见,安装“Development Tools”
另外,Python安装中需要的一些依赖包
2. 下载安装Python2.7
目前Python2.7的最新版本是2.7.11。可以在下面的网站查询:
https://www.python.org/ftp/python/
2.7.11的下载链接是:
https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz
tar vxf Python-2.7.11.tgz
cd Python-2.7.11.tgz
./configure --prefix=/usr/local --enable-unicode=ucs4 --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"
安装完成后,通过运行python,可以看到版本
3.安装pip
pip是python的安装工具,很多python的常用工具,都可以通过pip进行安装。
要安装pip,首先要安装setuptools。下面的链接可以得到相关信息,最新版本是21.0.0:
https://pypi.python.org/pypi/setuptools
下载链接:
同样的,进行安装:
安装完成后,下载pip。其信息在如下网站:
https://pypi.python.org/pypi/pip
最新版是8.1.1,下载链接:
同样的,进行安装
安装完成后,运行pip
不要升级pip,会报错5.查看版本信息
- #/usr/local/bin/python2.7 -V
6.建立软连接,使系统默认的 python指向 python2.7
- #mv /usr/bin/python /usr/bin/python2.6.6
- #ln -s /usr/local/bin/python2.7 /usr/bin/python
7.重新检验Python 版本
- #python -V
8解决系统 Python 软链接指向 Python2.7 版本后,因为yum是不兼容 Python 2.7的,所以yum不能正常工作,我们需要指定 yum 的Python版本
- #vi /usr/bin/yum
将文件头部的
#!/usr/bin/python
改成
此时运行virtualenv可能报错,找不到命令,需要切换到普通用户,不能用root
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
****************************************
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6.
新建项目 托管 建python虚拟环境~~
1. coding.net新建项目 zblog3
2. 本地初始化git
git init
3. 远程仓库
a. 创建SSH Key(如果需要)
b. git clone -o myremoteName https://git.coding.net/xiaofeier312/zblog3.git
4. 本地virtualenv zblog3env
5. 导出、导入 环境版本(待定)
pip freeze >requirements.txt
pip install -r requirements.txt
6. git操作(http://www.ruanyifeng.com/blog/2014/06/git_remote.html)
git add XX.X
git commit -m "commentXXX"
git push myremoteName master/banrch
git pull myremoteName master/...
git add . //这个可以把所以文件和文件夹都放入提交缓存中,"."表示全部
5.PYCHARM激活方法二个:
一:
二:激活码如下:
43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0I0QTczWVlKIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljdGlvbiI6IkZvciBlZHVjYXRpb25hbCB1c2Ugb25seSIsImNoZWNrQ29uY3VycmVudFVzZSI6ZmFsc2UsInByb2R1Y3RzIjpbeyJjb2RlIjoiSUkiLCJwYWlkVXBUbyI6IjIwMTctMDItMjUifSx7ImNvZGUiOiJBQyIsInBhaWRVcFRvIjoiMjAxNy0wMi0yNSJ9LHsiY29kZSI6IkRQTiIsInBhaWRVcFRvIjoiMjAxNy0wMi0yNSJ9LHsiY29kZSI6IlBTIiwicGFpZFVwVG8iOiIyMDE3LTAyLTI1In0seyJjb2RlIjoiRE0iLCJwYWlkVXBUbyI6IjIwMTctMDItMjUifSx7ImNvZGUiOiJDTCIsInBhaWRVcFRvIjoiMjAxNy0wMi0yNSJ9LHsiY29kZSI6IlJTMCIsInBhaWRVcFRvIjoiMjAxNy0wMi0yNSJ9LHsiY29kZSI6IlJDIiwicGFpZFVwVG8iOiIyMDE3LTAyLTI1In0seyJjb2RlIjoiUEMiLCJwYWlkVXBUbyI6IjIwMTctMDItMjUifSx7ImNvZGUiOiJSTSIsInBhaWRVcFRvIjoiMjAxNy0wMi0yNSJ9LHsiY29kZSI6IldTIiwicGFpZFVwVG8iOiIyMDE3LTAyLTI1In0seyJjb2RlIjoiREIiLCJwYWlkVXBUbyI6IjIwMTctMDItMjUifSx7ImNvZGUiOiJEQyIsInBhaWRVcFRvIjoiMjAxNy0wMi0yNSJ9XSwiaGFzaCI6IjMzOTgyOTkvMCIsImdyYWNlUGVyaW9kRGF5cyI6MCwiYXV0b1Byb2xvbmdhdGVkIjpmYWxzZSwiaXNBdXRvUHJvbG9uZ2F0ZWQiOmZhbHNlfQ==-keaxIkRgXPKE4BR/ZTs7s7UkP92LBxRe57HvWamu1EHVXTcV1B4f/KNQIrpOpN6dgpjig5eMVMPmo7yMPl+bmwQ8pTZaCGFuLqCHD1ngo6ywHKIQy0nR249sAUVaCl2wGJwaO4JeOh1opUx8chzSBVRZBMz0/MGyygi7duYAff9JQqfH3p/BhDTNM8eKl6z5tnneZ8ZG5bG1XvqFTqWk4FhGsEWdK7B+He44hPjBxKQl2gmZAodb6g9YxfTHhVRKQY5hQ7KPXNvh3ikerHkoaL5apgsVBZJOTDE2KdYTnGLmqxghFx6L0ofqKI6hMr48ergMyflDk6wLNGWJvYHLWw==-MIIEPjCCAiagAwIBAgIBBTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTE1MTEwMjA4MjE0OFoXDTE4MTEwMTA4MjE0OFowETEPMA0GA1UEAwwGcHJvZDN5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxcQkq+zdxlR2mmRYBPzGbUNdMN6OaXiXzxIWtMEkrJMO/5oUfQJbLLuMSMK0QHFmaI37WShyxZcfRCidwXjot4zmNBKnlyHodDij/78TmVqFl8nOeD5+07B8VEaIu7c3E1N+e1doC6wht4I4+IEmtsPAdoaj5WCQVQbrI8KeT8M9VcBIWX7fD0fhexfg3ZRt0xqwMcXGNp3DdJHiO0rCdU+Itv7EmtnSVq9jBG1usMSFvMowR25mju2JcPFp1+I4ZI+FqgR8gyG8oiNDyNEoAbsR3lOpI7grUYSvkB/xVy/VoklPCK2h0f0GJxFjnye8NT1PAywoyl7RmiAVRE/EKwIDAQABo4GZMIGWMAkGA1UdEwQCMAAwHQYDVR0OBBYEFGEpG9oZGcfLMGNBkY7SgHiMGgTcMEgGA1UdIwRBMD+AFKOetkhnQhI2Qb1t4Lm0oFKLl/GzoRykGjAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBggkA0myxg7KDeeEwEwYDVR0lBAwwCgYIKwYBBQUHAwEwCwYDVR0PBAQDAgWgMA0GCSqGSIb3DQEBCwUAA4ICAQC9WZuYgQedSuOc5TOUSrRigMw4/+wuC5EtZBfvdl4HT/8vzMW/oUlIP4YCvA0XKyBaCJ2iX+ZCDKoPfiYXiaSiH+HxAPV6J79vvouxKrWg2XV6ShFtPLP+0gPdGq3x9R3+kJbmAm8w+FOdlWqAfJrLvpzMGNeDU14YGXiZ9bVzmIQbwrBA+c/F4tlK/DV07dsNExihqFoibnqDiVNTGombaU2dDup2gwKdL81ua8EIcGNExHe82kjF4zwfadHk3bQVvbfdAwxcDy4xBjs3L4raPLU3yenSzr/OEur1+jfOxnQSmEcMXKXgrAQ9U55gwjcOFKrgOxEdek/Sk1VfOjvS+nuM4eyEruFMfaZHzoQiuw4IqgGc45ohFH0UUyjYcuFxxDSU9lMCv8qdHKm+wnPRb0l9l5vXsCBDuhAGYD6ss+Ga+aDY6f/qXZuUCEUOH3QUNbbCUlviSz6+GiRnt1kA9N2Qachl+2yBfaqUqr8h7Z2gsx5LcIf5kYNsqJ0GavXTVyWh7PYiKX4bs354ZQLUwwa/cG++2+wNWP+HtBhVxMRNTdVhSm38AknZlD+PTAsWGu9GyLmhti2EnVwGybSD2Dxmhxk3IPCkhKAK+pl0eWYGZWG3tJ9mZ7SowcXLWDFAk0lRJnKGFMTggrWjV8GYpw5bq23VmIqqDLgkNzuoog==
4.
安装 mac字体
1.
安装mysql后
1. 允许root远程访问
use mysql;
mysql> update user set host = \'%\' where user = \'root\';
mysql> select host, user from user;
mysql> flush privileges;
必须刷新权限
[打开 /etc/conf/在[mysqld]的段中加上一句:skip-grant-tables,可以看到user库]
需要删除表中的user(name)为空的项,
记得刷新权限
还得 service mysqld restart
2. 开放端口
打开防火墙配置文件
1
vi /etc/sysconfig/iptables
2、增加下面一行
1
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
3、重启防火墙
1
service iptables restart
必须重启防火墙
2.
虚拟机安装linux/python3.4等之坑
VM player不好用
VM workstations 12需要自己设定网卡(编辑菜单>虚拟机网络设定)
vituralBOX 目前不能安装新版centos
虚拟机工具需要重启linux,才能起作用
选硬盘的时候,可以自定义,也可以"USE ALL Space"
3.
安装mod_wsgi
(自己找最新版)
自己用 yum list "httpd*" 這樣,可以找到 httpd-devel 該套件包,該套件包提供編譯軟件所需要相關的項目
#添加mod_wsgi.so 模块
#LoadModule wsgi_module modules/mod_wsgi.so
#指定myweb项目的wsgi.py配置文件路径
WSGIScriptAlias / /usr/local/projects/send/send/wsgi.py
#指定项目路径
WSGIPythonPath /usr/local/projects/send/send/
4.
用下面的代替 Require all granted
1
2
Order deny,allow
Allow from all
以上是关于linux虚机配置开发/Server环境全集的主要内容,如果未能解决你的问题,请参考以下文章