centos + nginx + php + redis + python + mysql+ java环境搭建(测试环境)
配置结果
> uname -a
Linux bogon 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
> mysql -uroot -pnew-password
mysql> status
mysql Ver 14.14 Distrib 5.1.73, for redhat-inux-gnu (x86_64) using readline 5.1
> nginx -v
nginx version: nginx/1.8.0
> php-fpm -i|grep 'php version' -i
PHP Version => 5.4.45
> python -V
Python 2.7.10
> redis-server -v
Redis server version 2.4.10 (00000000:0)
> java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.1) (rhel-1.45.1.11.1.el6-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
安装mysql
安装mysql
yum install mysql
yum install mysql-server
/usr/bin/mysqladmin -u root password 'new-password' # 设置root帐号密码
打开3306和80端口
vi /etc/sysconfig/iptables
> -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
> -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
service iptables restart
允许root非本机访问
mysql -u root -pnew-password
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'new-password' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
测试验证
在客户机上测试数据库连接是否OK
安装nginx
安装php
nginx与php集成
php配置redis
安装phpredis
git clone git://github.com/phpredis/phpredis
phpize
./configure --with-php-config=/usr/bin/php-config --enable-redis
make && make install
./configure
配置php-fpm加载so
在php.ini中添加extension=redis.so
php.ini文件位置,php-fpm -i查看
php.ini的demo可以通过"find /usr -name php.ini"找到。
Configuration File (php.ini) Path => /usr/local/lib
修改php.ini后重启PHP-FPM。
之后验证是否php.ini加载成功以及是否加载了redis.so
仍然使用php-fpm -i
查看
[root@bogon phpredis]# php-fpm -i | grep Configuration
Configuration File (php.ini) Path => /usr/local/lib
Loaded Configuration File => /usr/local/lib/php.ini
再看看redis.so是否加载
[root@bogon phpredis]# php-fpm -i | grep Redis
[28-Oct-2015 08:03:06] NOTICE: PHP message: PHP Warning: Unknown: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in Unknown on line 0
Redis Support => enabled
Redis Version => 2.2.5
PHP-FPM使用信号控制
master进程可以理解以下信号
INT, TERM 立刻终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 平滑重载所有worker进程并重新载入配置和二进制模块
示例
php-fpm 启动
/usr/local/php/sbin/php-fpm
php-fpm 关闭
kill -INT \
cat /usr/local/php/var/run/php-fpm.pid`php-fpm 重启
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid` `
php-fpm中加载curl插件
cd <php-sourcecode>/ext/curl
-
编译
phpize ./configure --with-curl make && make install
-
restart php-fpm
ps -elf | grep php-fpm # 获取php-fpm的主进程号 kill -INT <php-fpm-pid> php-fpm
-
验证
php-fpm -i | grep curl -i > cURL support => enabled > cURL Information => 7.19.7
** bash环境 **
全局变量
/etc/bashrc # 不要动
/etc/profile # 不要动
/etc/profile.d # 在这里加用户登录后的脚本
用户变量
~/.bashrc
~/.bash_profile
升级python到2.7
安装python
wget http://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
tar zxvf Python-2.7.10.tgz
Python-2.7.10
./configure
make && make install
python -V
> Python 2.7.10
yum # 注意检查yum是否能够正常工作。如果不能,修改yum:vi /usr/bin/yum
一般默认安装情况下,
/usr/local/bin/python
是2.7版本,/usr/bin/python
是2.6版本。yum
引用的是/usr/bin/python
安装setuptools和pip
wget http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg --no-check-certificate
sh setuptools-0.6c11-py2.7.egg
wget http://pypi.python.org/packages/source/p/pip/pip-1.0.2.tar.gz --no-check-certificate
tar zxf pip-1.0.2.tar.gz
cd pip-1.0.2
python setup.py install
如果pypi.python.org不可用,也可使用豆瓣的pypi.douban.org
安装virtualenv和virtualenvwrapper
pip install virtualenv
pip install virtualenvwrapper
如果使用豆瓣源:
pip install virtualenv -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
如果长期使用:
> mkdir ~/.pip
> vi ~/.pip/pip.conf
[global]
index-url = http://pypi.douban.com/simple
Ref to: http://www.cnblogs.com/hushaojun/p/4606986.html
安装java
> yum install java-1.8.0-openjdk
> java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.1) (rhel-1.45.1.11.1.el6-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
配置uwsgi
get http://projects.unbit.it/downloads/uwsgi-1.4.2.tar.gz
tar -zxvf uwsgi-1.4.2.tar.gz
cd uwsgi-1.4.2
python setup.py build
make
mv uwsgi /usr/bin
vim /usr/local/nginx/conf/nginx.conf
在server下的location下增加以下2行
location / {
uwsgi_pass 127.0.0.1:9001;
include uwsgi_params;
}