网站安装及配置
网站网址:www.uoeai.com
服务器:阿里云服务器ECS www.aliyun.com
网站架构:Apache+MySQL+wordpress
远程连接工具:Xterminal免费版
数据库连接工具:MySQLWorkbench
网站域名直接打开首页:把wordpress安装在根目录
为了让www.uoeai.com域名直接能打开网站首页,最直接的方式就是将wordpress安装在根目录,即/var/www/html目录下,而不是在/var/www/html/wordpress目录下。
域名申请下来后,如何将原来的IP地址更换为新域名?
一般来说,服务器申请下来之后,可以先进行网站开发工作,后续再将开发好的网站配置上新申请的域名,当然域名需要在阿里云进行DNS域名解析、IPC备案,以及全国互联网安全管理服务平台进行备案。下面介绍将原有IP地址登录更换为域名登录的步骤:
- 前期准备工作:建议在更换域名之前,对网站文件及数据库进行备份,防止因错误设置而导致网站无法登录。
- WordPress后台配置:登录wordpress后台,进入设置-常规菜单,在WordPress 地址(URL)和站点地址(URL)中输入新的域名:www.uoeai.com.
- 修改wp-config.php配置文件:使用Xterminal远程登录服务器,打开/var/www/html/wp-config.php文件,在最后增加两行:
define('WP_HOME','http://www.uoeai.com');
define('WP_SITEURL','http://www.uoeai.com');
- 更新数据库:除了在配置文件中,网站的很多配置也存在数据库中,因此需要更新数据库相关表。
SET SQL_SAFE_UPDATES=0;
UPDATE wordpress.wp_options SET option_value = replace(option_value, 'http://47.94.138.131/wordpress', 'http://www.uoeai.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wordpress.wp_posts SET guid = replace(guid, 'http://47.94.138.131/wordpress','http://www.uoeai.com') ;
UPDATE wordpress.wp_posts SET post_content = replace(post_content, 'http://47.94.138.131/wordpress','http://www.uoeai.com');
UPDATE wordpress.wp_postmeta SET meta_value = replace(meta_value,'http://47.94.138.131/wordpress','http://www.uoeai.com');
- 其他路径修改:在网站中,可能还会有其他链接设置的相对路径,需要有针对性的修改,比如将/wordpress修改为/。
http转https,SSL证书申请和配置。
为了使网站访问变的更加安全,需要https协议访问网站,以下配置非常重要,在wp-config.php
文件中将网址配置为https协议。或者进入到后台配置界面,修改相关配置(注:配置文件中以硬编码方式编写的内容,在后台配置页面无法修改)。
define('WP_HOME', 'https://www.uoeai.com');
define('WP_SITEURL', 'https://www.uoeai.com');
清空缓存
如果你希望同时清空页面缓存、dentries 和 inodes 缓存,可以使用以下命令:
sudo sync
sudo echo 3 > /proc/sys/vm/drop_caches
sync
:将所有未写入磁盘的数据同步到磁盘。echo 3 > /proc/sys/vm/drop_caches
:清空所有缓存。
设置清空缓存定时任务
建站初期,内存较小,需要定期清空缓存,保证内存空闲充足。
- 开启cronb定时任务
sudo systemctl start crond
sudo systemctl enable crond
- 设置定时任务
- 打开定时任务编辑器:
crontab -e
- 在编辑器中增加以下定时任务:
- 打开定时任务编辑器:
#在每个小时的0分和30分时清空所有缓存。也就是每半小时清空缓存
0,30 * * * * /bin/echo 3 > /proc/sys/vm/drop_caches
- 查看定时任务设置结果:
crontab -l
Apache httpd配置文件
- httpd.conf:/etc/httpd/conf/httpd.conf。
#针对网站根目录路径进行设置
<Directory "/var/www/html">
Options Indexes FollowSymLinks
#允许重定向
AllowOverride all
#允许访问目录下所有文件
Require all granted
</Directory>
.htaccess
:/var/www/html/.htaccess。
强制使用https进行网站访问;禁止其他域名访问网站,防止垃圾域名解析,减少带宽和性能无畏消耗。
RewriteEngine On
# 禁止其他域名访问
ErrorDocument 403 "Access Denied: Your domain is not allowed to access this site."
RewriteCond %{HTTP_HOST} !^(www\.)?(uoeai\.com|pusuai\.com|siiai\.com|pduai\.com|ehoai\.com)$ [NC]
#RewriteRule ^ - [F]
RewriteRule ^ http://baidu.com%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} ^www\.lrxxkj\.com\.cn$ [NC]
RewriteCond %{HTTP_HOST} ^lrxxkj\.com\.cn$ [NC]
RewriteRule ^ - [F]
# 强制使用HTTPS
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
- ssl.conf:/etc/httpd/conf.d/ssl.conf。
<VirtualHost *:443>
ServerName uoeai.com
ServerAlias www.uoeai.com
DocumentRoot /var/www/html/
SSLCertificateFile /etc/httpd/cert/uoeai_public.crt
SSLCertificateKeyFile /etc/httpd/cert/uoeai.key
SSLCertificateChainFile /etc/httpd/cert/uoeai_chain.crt
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
ErrorLog /var/log/httpd/uoeai_error.log
CustomLog /var/log/httpd/uoeai_access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerName pduai.com
ServerAlias www.pduai.com
DocumentRoot /var/www/html/
SSLCertificateFile /etc/httpd/cert/pduai_public.crt
SSLCertificateKeyFile /etc/httpd/cert/pduai.key
SSLCertificateChainFile /etc/httpd/cert/pduai_chain.crt
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
ErrorLog /var/log/httpd/pduai_error.log
CustomLog /var/log/httpd/pduai_access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerName siiai.com
ServerAlias www.siiai.com
DocumentRoot /var/www/html/
SSLCertificateFile /etc/httpd/cert/siiai_public.crt
SSLCertificateKeyFile /etc/httpd/cert/siiai.key
SSLCertificateChainFile /etc/httpd/cert/siiai_chain.crt
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
ErrorLog /var/log/httpd/siiai_error.log
CustomLog /var/log/httpd/siiai_access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerName ehoai.com
ServerAlias www.ehoai.com
DocumentRoot /var/www/html/
SSLCertificateFile /etc/httpd/cert/ehoai_public.crt
SSLCertificateKeyFile /etc/httpd/cert/ehoai.key
SSLCertificateChainFile /etc/httpd/cert/ehoai_chain.crt
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
ErrorLog /var/log/httpd/ehoai_error.log
CustomLog /var/log/httpd/ehoai_access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerName pusuai.com
ServerAlias www.pusuai.com
DocumentRoot /var/www/html/
SSLCertificateFile /etc/httpd/cert/pusuai_public.crt
SSLCertificateKeyFile /etc/httpd/cert/pusuai.key
SSLCertificateChainFile /etc/httpd/cert/pusuai_chain.crt
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
ErrorLog /var/log/httpd/pusuai_error.log
CustomLog /var/log/httpd/pusuai_access.log combined
</VirtualHost>
- 阿里云DNS域名解析:

- 阿里云网络端口开通:网络与安全-安全组配置。

阿里云ECS服务器内存优化
2G内存需要省着用,否则服务器经常宕机。
- PHP-FPM 调优
路径:/etc/php-fpm.d/www.conf
# 动态创建子进程
pm = dynamic
# 最大子进程数
pm.max_children = 20
# php服务启动时子进程个数
pm.start_servers = 4
# 空闲的子进程个数下限
pm.min_spare_servers = 2
# 空闲的子进程个数上限
pm.max_spare_servers = 4
# 定期重启进程避免内存泄漏
pm.max_requests = 500

- mysql调优
路径:/etc/etc/my.cnf
#最大缓存池
innodb_buffer_pool_size = 256M
#最大连接数
max_connections = 500
#
key_buffer_size = 32M
#临时表大小为64M
tmp_table_size = 64M
#查询缓存设置为0
query_cache_size = 0
发表回复