为什么80%的码农都做不了架构师?>>>
这里是给创业公司进行更换系统。由于平时用到的并不多,只有一台服务器。
在迁移之前把应用,数据库数据都下载下来,然后更换系统为centos7
1、首先是迁移数据库。
安装mysql5.7数据库后,把数据导入进数据库。由于linux数据严格区分大小写,顾
#vim /etc/my.cnf
添加lower_case_table_names=1 到my.cnf中。
1.2、安装tomcat,将应用放到tomcat中。
2.Nginx安装
我使用的环境是64位 Ubuntu 14.04。nginx依赖以下模块:
l gzip模块需要 zlib 库
l rewrite模块需要 pcre 库
l ssl 功能需要openssl库
2.1.安装pcre
1. 获取pcre编译安装包,在http://www.pcre.org/上可以获取当前最新的版本
2. 解压缩pcre-xx.tar.gz包。
3. 进入解压缩目录,执行./configure。
4. make & make install
1.2.安装openssl
1. 获取openssl编译安装包,在http://www.openssl.org/source/上可以获取当前最新的版本。
2. 解压缩openssl-xx.tar.gz包。
3. 进入解压缩目录,执行./config。
4. make & make install
2.3.安装zlib
1. 获取zlib编译安装包,在http://www.zlib.net/上可以获取当前最新的版本。
2. 解压缩openssl-xx.tar.gz包。
3. 进入解压缩目录,执行./configure。
4. make & make install
2.4.安装nginx
1. 获取nginx,在http://nginx.org/en/download.html上可以获取当前最新的版本。
2. 解压缩nginx-xx.tar.gz包。
3. 进入解压缩目录,执行./configure
4. make & make install
若安装时找不到上述依赖模块,使用--with-openssl=
启动nginx之后,浏览器中输入http://localhost可以验证是否安装启动成功。
5、nginx的编译安装后的目录在
/usr/local/nginx/
3、nginx整合tomcat
#vim /usr/local/nginx/conf/nginx.conf
添加图片缓存
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 50m;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;
client_body_buffer_size 512k;
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_temp_path /yundata/temp/images;
proxy_cache_path /yundata/cache/images levels=1:2 keys_zone=content:20m inactive=1d max_size=100m;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6]\.";
配置tomcat,其中应用的端口为8080
#代理tomcat应用
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
access_log /var/log/nginx.log;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 15d;
}
location ~ .*\.(js|css)?$
{
expires 1d;
}
location / {
root html;
index index.html index.htm;
proxy_pass http://www.5ayzb.com:8080;
}
#代理php应用
server {
测试配置是否有问题通过下面命令
#/usr/local/nginx/sbin/nginx -t
看是否有错误信息。
输入 netstat -tpnl 检查下是否有服务正常
[root@localhost ~]# netstat -tpnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN 1504/java
tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN 1504/java
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 7913/nginx: master
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 1504/java
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 873/sshd
tcp6 0 0 :::3306 :::* LISTEN 889/mysqld
[root@localhost ~]#
4、安装php5.6
安装依赖
# yum install gcc gcc-c++ libxml2 libxml2-devel libjpeg-devel libpng-devel freetype-devel openssl-devel libcurl-devel libmcrypt-devel
#/configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --enable-pcntl --enable-mysqlnd --enable-opcache --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-shmop --enable-zip --enable-ftp --enable-soap --enable-xml --enable-mbstring --disable-rpath --disable-debug --disable-fileinfo --with-mysql --with-mysqli --with-pdo-mysql --with-pcre-regex --with-iconv --with-zlib --with-mcrypt --with-gd --with-openssl --with-mhash --with-xmlrpc --with-curl --with-imap-ssl
#make
。。。。。省略
#make intstall
[root@localhost php-5.6.26]# make install
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/
Installing PHP CLI binary: /usr/local/php/bin/
Installing PHP CLI man page: /usr/local/php/php/man/man1/
Installing PHP FPM binary: /usr/local/php/sbin/
Installing PHP FPM config: /usr/local/php/etc/
Installing PHP FPM man page: /usr/local/php/php/man/man8/
Installing PHP FPM status page: /usr/local/php/php/php/fpm/
Installing PHP CGI binary: /usr/local/php/bin/
Installing PHP CGI man page: /usr/local/php/php/man/man1/
Installing build environment: /usr/local/php/lib/php/build/
Installing header files: /usr/local/php/include/php/
Installing helper programs: /usr/local/php/bin/
program: phpize
program: php-config
Installing man pages: /usr/local/php/php/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /usr/local/php/lib/php/
[PEAR] Archive_Tar - installed: 1.4.0
[PEAR] Console_Getopt - installed: 1.4.1
[PEAR] Structures_Graph- installed: 1.1.1
[PEAR] XML_Util - installed: 1.3.0
[PEAR] PEAR - installed: 1.10.1
配置php
# cp php.ini-production /usr/local/php/etc/php.ini
# cp /usr/local/php/etc/php-fpm.conf.default php-fpm.conf
[root@localhost etc]# /usr/local/php/sbin/php-fpm -t
[17-Sep-2016 22:47:27] NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful
添加到
#cp /server/php-5.6.26/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
/server/php-5.6.26 这个是我的php的tar.xz 解压的安装包
添加到开机自启
#chkconfig --add php-fpm
启动PHP
#/etc/init.d/php-fpm start
5 nginx+php整合
5.1、修改php配置
#cd /usr/local/php/etc/
# vi php-fpm.conf
启用如下几行,即去掉前面的分号(;)
pid = run/php-fpm.pid
error_log = log/php-fpm.log
log_level = notice
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
5.2、修改nginx
[root@localhost etc]# cd /usr/local/nginx/
[root@localhost nginx]# vim conf/nginx.conf
server
{
listen 80;
server_name bbs.5ayzb.com #二级域名(比如mial.baidu.com)
server_name ip;
index index.php index.html index.htm default.html default.htm default.php;
root /home/website/;#php应用的文件夹
location ~ \.php$ {
root /home/website;#php应用的文件夹
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location /status {
stub_status on;
access_log off;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
access_log off;
}
5.3、测试是否有问题
#/usr/local/nginx/sbin/nginx -t
6 最后结果
在浏览器输入
www.5ayzb.com 就出现java的应用
输入bbs.5ayzb.com 就是先php的应用。
到这里php+nginx+tomcat的整合好了。80端口可以访问两个应用了。
参考:nginx安装:http://www.cnblogs.com/skynet/p/4146083.html
nginx+php整合http://blog.chinaunix.net/uid-21374062-id-2951960.html