从最干净的环境安装 ? vim tmux mysql nginx uwsgi pylibmc 源里有的并且版本较新的直接yum装就可以了. yum里比较有用的指令包括 yum install 软件名 安装软件 yum search 名字 查询有关的软件信息 yum info 名字 查寻软件源的相关信息 yum install vim ?文
从最干净的环境安装 ?
- vim
- tmux
- mysql
- nginx
- uwsgi
- pylibmc
源里有的并且版本较新的直接yum装就可以了.
yum里比较有用的指令包括
- yum install 软件名 安装软件
- yum search 名字 查询有关的软件信息
- yum info 名字 查寻软件源的相关信息
-
yum install vim
?文本编辑器 -
yum install python-setuptools
?python库安装工具 easy_install -
yum install mysql-server mysql
?mysql -
yum install make gcc gcc-c++
?编译软件时用到的安装工具 -
yum install wget
?下载工具
基本软件安装完成,现在编一个最简单的软件练手.
安装 tmux
下载源码 http://tmux.sourceforge.net/
解压 tar -xvf tmux*.tar.gz
切换到tmux源码目录 cd tmux*
检测安装环境,生成make文件 ?./configure
最后一行报错:
configure: error: "libevent not found"
可以google一下这个错误也会有解决方法,不过感觉提示可以知道是libevent这个库没有安装
yum search
可以查看这些库的相关信息
yum search libevent
Matched: libevent libevent-devel.i686 : Header files, libraries and development documentation for: libevent libevent.i686 : Abstract asynchronous event notification library
估计libevent-devel
和libevent
都有用,都装一下.
yum install libevent libevent-devel
再./configure
这次提示的是
configure: error: “curses not found”
同上yum search
然后yum install
再./configure
, 没有提示error了,并且提示生成了make文件.
make make install
练手完毕,开始安装web环境需要的软件.
编译安装nginx,源里的nginx是7.X的,但是8.0的nginx才支持uwsgi,所以要自己编译.
先看一下这个网页里有nginx的依赖库,直接yum装一下就好了
yum -y install gcc gcc-c++ glibc glibc-devel glib2 glib2-devel autoconf libmcrypt libmcrypt-devel mhash mhash-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel libidn libidn-devel zlib zlib-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel mysql mysql-server mysql-devel
基本上该装的库都装了, 然后去官网下载稳定版本的库的源码.
然后
./configure make make install
如果需要自己定制编译参数的话可以看下面的文章:
- 1
- 2
这两篇文章讲了nginx的编译参数,和如何把nginx添加到系统的服务里,使用service启动和停止的方法,值得注意的是如果使用了自定义编译参数,需要更改nginx启动文件的相应的路径.
我的编译参数如下:
nginx: configure arguments: –prefix=/usr/sbin –sbin-path=/usr/sbin/nginx –conf-path=/etc/nginx/nginx.conf –error-log-path=/var/log/nginx/error.log –pid-path=/var/run/nginx.pid –lock-path=/var/lock/subsys/nginx –http-log-path=/var/log/nginx/access.log
安装py库
easy_install web.py 不用说了 easy_install bpython 一个增强型的python命令行工具,代码提示很不错
安装uwsgi
uwsgi 下载 http://projects.unbit.it/uwsgi/wiki/WikiStart
make 出错, 安装python-devel
make 出错, python setup.py install
安装pylibmc
下面文章讲解了pylibmc的安装过程
link
libevent直接yum安装就可以了,记得安装libevent-devel,不用编译安装
libmemcached 5.0,需要如下编译参数,如果没有据说话报错,另外最好更改一下安装路径,因为so库默认会安装在/usr/local/lib/里,但是so库的查找路径默认没有这个文件夹,当然可以更改一下so的查找路径,有兴趣可以google一下,为了简单,这里直接改安装路径了
./configure –prefix /usr –disable-64bit CFLAGS=”-O3 -march=i686″ –prefix=/usr
下载pylibmc的源码,是上面那个c库的py封装,据说可用性比较强 pylibmc 1.2.0
这个库直接运行python setup.py install
就可以了,如果没有出错就安装完成了
安装好以下,在源码路径下有runtest.py,可以测试一下是否安装成功了, 但是测试的时候要确保memcached处于运行状态.
如果提示一下错误按一下nose就可以了
Traceback (most recent call last): File “./runtests.py”, line 15, in import nose ImportError: No module named nose
最后按一下py的mysql库easy_install MySQL-python
之后就是mysql添加用户的配置了 mysql
之后是配置的工作
首先找到nginx的配置文件nginx.conf, 如果是编译安装的话,同级目录下会有一个default的拷贝,所以放心改就是了.
去掉里面的server块,然后include自己的server配置文件.
如我的配置文件/home/user/conf/nginx.conf
就把
server{ listen 80; …………………… }
替换为
include /home/user/conf/nginx.conf;
自己的server配置文件内容如下:
server{ listen 80; server_name localhost; root /home/hao/code/webpy/; location / { index index.html; uwsgi_pass 127.0.0.1:9090; include uwsgi_params; } }
uwsgi程序监听在9090端口, index.py文件内容如下:
import web urls = ( ‘/(.*)’, ‘hello’ ) app = web.application(urls, globals()) class hello: def GET(self, name): if not name: name = ‘World’ return ‘Hello, ‘ + name + ‘!’ application = app.wsgifunc()
注意不是app.run()
uwsgi的启动参数可以去官网看,http://projects.unbit.it/uwsgi/wiki/Doc
下面附带自己的启停脚本
start.sh
要记得chmode +x start.sh,给予执行权限.
#!/bin/bash rm log/*.log uwsgi -s :9090 -w index -p 4 -t 10 -M –limit-as 128 -d log/uwsgi.log –harakiri-verbose –listen 10 #–disable-logging memcached -d -vv > log/memcached.11211.log 2>&1 memcached -d -p 11212 -u 11212 -vv > log/memcached.11212.log 2>&1
删除log文件,uwsgi启动监听在9090端口,并且起两个memcached服务器
stop.sh 要记得chmode +x stop.sh,给予执行权限
#!/bin/bash killall -9 uwsgi killall -9 memcached
很粗暴,杀死所有相关进程
restart.sh 同上
#!/bin/bash ./stop.sh ./start.sh
就是掉一下停,再调一下启..
原文地址:nginx,uwsgi,web.py,memcached环境搭建, 感谢原作者分享。

掌握添加MySQL用户的方法对于数据库管理员和开发者至关重要,因为它确保数据库的安全性和访问控制。1)使用CREATEUSER命令创建新用户,2)通过GRANT命令分配权限,3)使用FLUSHPRIVILEGES确保权限生效,4)定期审计和清理用户账户以维护性能和安全。

chosecharforfixed-lengthdata,varcharforvariable-lengthdata,andtextforlargetextfield.1)chariseffity forconsistent-lengthdatalikecodes.2)varcharsuitsvariable-lengthdatalikenames,ballancingflexibilitibility andperformance.3)

在MySQL中处理字符串数据类型和索引的最佳实践包括:1)选择合适的字符串类型,如CHAR用于固定长度,VARCHAR用于可变长度,TEXT用于大文本;2)谨慎索引,避免过度索引,针对常用查询创建索引;3)使用前缀索引和全文索引优化长字符串搜索;4)定期监控和优化索引,保持索引小巧高效。通过这些方法,可以在读取和写入性能之间取得平衡,提升数据库效率。

ToaddauserremotelytoMySQL,followthesesteps:1)ConnecttoMySQLasroot,2)Createanewuserwithremoteaccess,3)Grantnecessaryprivileges,and4)Flushprivileges.BecautiousofsecurityrisksbylimitingprivilegesandaccesstospecificIPs,ensuringstrongpasswords,andmonitori

tostorestringsefliceflicyInmySql,ChooSetherightDataTypeBasedyOrneOrneEds:1)USEcharforFixed-LengthStstringStringStringSlikeCountryCodes.2)UseVarcharforvariable-lengtthslikenames.3)USETEXTCONTENT.3)

选择MySQL的BLOB和TEXT数据类型时,BLOB适合存储二进制数据,TEXT适合存储文本数据。1)BLOB适用于图片、音频等二进制数据,2)TEXT适用于文章、评论等文本数据,选择时需考虑数据性质和性能优化。

No,youshouldnotusetherootuserinMySQLforyourproduct.Instead,createspecificuserswithlimitedprivilegestoenhancesecurityandperformance:1)Createanewuserwithastrongpassword,2)Grantonlynecessarypermissionstothisuser,3)Regularlyreviewandupdateuserpermissions

mySqlStringDatatatPessHouldBechoseBeadeDataCharacteristicsAndUsecases:1)USECHARFORFIXED LENGTHSTRINGSTRINGSLIKECOUNTRYCODES.2)USEDES.2)usevarcharforvariable-lengtthstringstringstringstringstringstringstringslikenames.3)usebinaryorvarrinaryorvarinarydatalbonydatalgebgeenfopical.4)


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

Dreamweaver Mac版
视觉化网页开发工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

WebStorm Mac版
好用的JavaScript开发工具