并发网服务器迁移
本月将并发编程网站迁移到UCloud云服务,本文是迁移的步骤,希望对其他同学有所帮助。
第一步:安装软件
软件包括php,mysql和nginx。
yum -y install php php-fpm mysql nginx lighttpd-fastcgi php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy
第二步:软件配置
2.1 配置nginx
vi /etc/nginx/nginx.conf
user www www; worker_processes 8; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; worker_rlimit_nofile 65535; events { use epoll; worker_connections 65535; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$request_time $upstream_response_time' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; server_names_hash_bucket_size 128; client_header_buffer_size 32k; large_client_header_buffers 4 32k; client_max_body_size 10M; sendfile on; tcp_nopush on; keepalive_timeout 30; 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 128k; 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; server { listen 80; server_name ifeve.com www.ifeve.com; index index.html index.htm index.php; try_files $uri $uri/ /index.php?q=$uri&$args; root /home/www/ifeve; #include wp_params_supercache.conf; location ~ .*\.(php|php5)?$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fcgi.conf; } } }
2.2 配置php-fpm
vi /etc/php-fpm.d/www.conf
;Start a new pool named 'www'. [www]
; The address on which to accept FastCGI requests. ; Valid syntaxes are: ; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific address on ; a specific port; ; 'port' - to listen on a TCP socket to all addresses on a ; specific port; ; '/path/to/unix/socket' - to listen on a unix socket. ; Note: This value is mandatory. listen = 127.0.0.1:9000
; Set listen(2) backlog. A value of '-1' means unlimited. ; Default Value: -1 listen.backlog = 102400
; List of ipv4 addresses of FastCGI clients which are allowed to connect. ; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original ; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address ; must be separated by a comma. If this value is left blank, connections will be ; accepted from any ip address. ; Default Value: any listen.allowed_clients = 127.0.0.1,120.132.54.203,115.192.118.9
; Set permissions for unix socket, if one is used. In Linux, read/write ; permissions must be set in order to allow connections from a web server. Many ; BSD-derived systems allow connections regardless of permissions. ; Default Values: user and group are set as the running user ; mode is set to 0666 ;listen.owner = nobody ;listen.group = nobody listen.mode = 0666
; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. /pi ; be killed. This option should be used when the 'max_execution_time' ini option ; does not stop script execution for some reason. A value of '0' means 'off'. ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) ; Default Value: 0 request_terminate_timeout = 3s
; The timeout for serving a single request after which a PHP backtrace will be ; dumped to the 'slowlog' file. A value of '0s' means 'off'. ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) ; Default Value: 0 request_slowlog_timeout = 3s
; The log file for slow requests ; Default Value: not set ; Note: slowlog is mandatory if request_slowlog_timeout is set slowlog = /var/log/php-fpm/www-slow.log
; Set open file descriptor rlimit. ; Default Value: system defined value rlimit_files = 102400
; Set max core size rlimit. ; Possible Values: 'unlimited' or an integer greater or equal to 0 ; Default Value: system defined value rlimit_core = 0
; Chroot to this directory at the start. This value must be defined as an ; absolute path. When this value is not set, chroot is not used. ; Note: chrooting is a great security feature and should be used whenever ; possible. However, all PHP paths will be relative to the chroot ; (error_log, sessions.save_path, ...). ; Default Value: not set ;chroot =
; Chdir to this directory at the start. This value must be an absolute path. ; Default Value: current directory or / when chroot ;chdir = /var/www
第三步:迁移数据和网站
3.1 迁移数据库
- 在旧服务器中导出ifeve数据库:mysql -f -h localhost -uroot -pifevepassword ifeve > ifevedb_backup.sql
- 在新服务器中设置新mysql的默认密码:mysqladmin -u root password 123
- 在新服务器中创建ifeve数据库:mysqladmin -h localhost -u root -p create ifeve
- 在新服务器中导入ifeve数据库:mysql -f -h localhost -uroot -pifevepassword ifeve < ifevedb_backup.sql
3.2 迁移网站
scp -r 192.168.0.1:/home/www/ifeve 192.168.0.2:/home/www/
3.3 设置目录权限
- chown -R www.www /home/www/ifeve
- chmod -R 755 /home/www/ifeve
第四步:启动应用
- service php-fpm restart
- service nginx restart
- service mysqld restart
恭喜你迁移完成。
查询各种日志
- tail -fn 5 /var/log/nginx/error.log
- tail -fn 5 /var/log/nginx/access.log
- tail -fn 500 /var/log/php-fpm/error.log
- tail -fn 5 /var/log/php-fpm/www-slow.log
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 并发网服务器迁移
有没有可能通过docker运行,这样下次换服务商更方便
这个想法不错,我研究下
网站迁用scp很巧妙。。