服务器建设
创建AWS服务器
有很多关于建立服务器的文章之类的东西滚滚而来,这只是我个人的完全备忘录。
因为中间也遇到了一些问题,所以可能有错误之处。
所有的操作都是以root用户身份进行的。
安装PHP5.6。
安装了MySQL和PHP。
yum install php56 php56-mbstring php56-mysql mysql-server php56-pear httpd-devel curl-devel php56-ldap php56-xml php56-mcrypt php56-gd php56-apc php56-imap php56-pecl-imagick
安装Zendframework
yum install -y php-ZendFramework*
安装memcashd。
yum install -y memcached memcached-devel php-pecl-memcached
MySQL的设置
配置设定。
/etc/my.cnf 可以被翻译为 “我的.cnf”。
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
#---- ADD SETTING
key_buffer_size=256M
innodb_buffer_pool_size=512M
table_cache=256
thread_cache_size=16
innodb_flush_log_at_trx_commit=2
max_allowed_packet=1M
sort_buffer_size=1M
long_query_time=1
join_buffer_size = 131072
max_connections=2000
character-set-server=utf8mb4
old-passwords=1
interactive_timeout=900
wait_timeout=900
skip-character-set-client-handshake
expire_logs_days=10
log-bin=mysql-bin
server-id = 1
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql]
default-character-set=utf8mb4
[client]
default-character-set=utf8mb4
建立初始表
mysql_install_db --datadir=/var/lib/mysql --user=mysql
更改根密码
/usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -h ホスト名 password 'new-password'
MySQL和memcache的设置和启动
- 起動時に起動させるようにする
chkconfig mysqld on
chkconfig memcached on
- 手動で一旦サービスを起動させる
service mysqld start
service memcached start
PHP的配置。
※ 查询 PHP 的版本
php -v
只要碰到困难的时候,就会备份默认的php.ini文件。
cp /etc/php.ini /etc/php.ini.org
修改php.ini文件
vim /etc/php.ini
#セッションIDの名前変更
session.name = 名前
session.use_only_cookies = 1
disable_functions = phpinfo
allow_url_fopen = Off
session.hash_function = 1
session.entropy_length = 16
post_max_size = 16M
memory_limit = -1
date.timezone = Asia/Tokyo
; session.save_handler = files // コメントアウト
; session.save_path = "/var/lib/php/session" // コメントアウト
我也会备份这个。
cp /etc/php.d/memcached.ini /etc/php.d/memcached.ini.org
vim /etc/php.d/memcached.ini
session.save_handler = memcached // コメントアウトをはずす
session.save_path = "tcp://localhost:11211" // 追記
WEBサーバが増えた場合はカンマ区切り追記していく。
session.save_path = "tcp://localhost:11211,tcp://otherserver.com:11211"
改變時間
cp /usr/share/zoneinfo/Japan /etc/localtime
※ 附加说明
对于AmazonLinux的情况,还需要进行以下设置。
在终端输入命令 “vim /etc/sysconfig/clock”。
ZONE="Asia/Tokyo"
UTC=true
更改主机名
hostname samplehost
如果需要重新启动并想要进行更改,可以修改/etc/sysconfig/network文件中的HOSTNAME。
如果文件不存在,则创建文件。
HOSTNAME=samplehost
如果进行了更改,请设置如下内容。
vim /etc/hosts
127.0.0.1 samplehost localhost.localdomain localhost
vim /etc/httpd/conf/httpd.conf
#ServerName www.example.com:80
ServerName samplehost:80
参考资料:
Apache的httpd:apr_sockaddr_info_get()函数无法解析域名错误
Apache错误:无法可靠确定服务器的完全限定域名…
虚拟主机的配置
vim /etc/httpd/conf.d/vhost.conf
<VirtualHost *:80>
ServerName sample.jp
DocumentRoot /usr/local/src/sample
AllowEncodedSlashes On
<Directory /usr/local/src/sample>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
※注意:由于Apache 2.2和2.4的写法不同,需要注意。
参考:
Apache 2.4中的conf写法已经改变。
Apache版本确认方法