服务器开发服务器优化:零基础搞定服务器开发与服务器优化
很多刚接触服务器的朋友会把“服务器开发”和“服务器优化”当成两件独立的事,其实从头搭建一套可用的LNMP环境并且做好基本优化,是入门服务器开发与服务器优化最直接的方式。
本文会带着你从一台全新的Linux服务器开始,一步步完成Nginx、MySQL、PHP的安装配置,然后通过几个关键优化让网站加载速度明显提升。
全程只需复制命令,零基础也能跟着走完。
准备一台能远程连接的服务器
你需要任意一台Linux云服务器(推荐CentOS 7/8或Ubuntu 20.04/22.04),并且能用SSH客户端(比如Windows下的Putty或macOS/Linux终端)登录root或sudo用户。
如果还不会用SSH,可以搜索“新手SSH连接云服务器”先看一下。
保证服务器有公网IP,并且防火墙或者安全组放行了80和443端口。
用一条命令安装LNMP全家桶
手动一个个装Nginx、MySQL、PHP费时又容易出错,我推荐直接用LNMP一键安装脚本(lnmp.org)。
登录服务器后依次执行:
wget http://soft.vpser.net/lnmp/lnmp2.0.tar.gz
tar -xzf lnmp2.0.tar.gz
cd lnmp2.0
./install.sh lnmp
安装过程中会让你选择MySQL版本(选5.7或8.0都行)、PHP版本(选7.4或8.1)、是否安装InnoDB引擎(默认就好)。
大约20-30分钟后安装完成,看到 “Install LNMP V2.0 completed!
” 就成功了。
这时访问服务器ip,应该能看到LNMP的默认欢迎页。
如果你更喜欢自己安装,也可以用包管理器(apt/yum)逐个安装,但一键脚本更省心,适合零基础直接上手。
做三个让服务器变快的调优操作
安装完LNMP只完成了“服务器开发”的第一步,要想跑得稳、速度快,还需要简单优化。
下面三个改动是收益最高且最安全的。
1. 开启PHP Opcache
Opcache能把编译好的PHP脚本缓存到内存里,省去重复编译的时间。
编辑 /usr/local/php/etc/php.ini(如果用lnmp脚本,路径可能不同,可以用 find / -name php.ini 找实际位置),找到 [opcache] 部分,改成下面这样:
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
改完后执行 /etc/init.d/php-fpm restart 重启PHP。
你可以写一个 phpinfo() 文件来确认Opcache已经开启。
2. 调整MySQL最大连接数和缓存
登录MySQL:mysql -uroot -p,输入安装时设置的root密码。
然后执行以下SQL:
SET GLOBAL max_connections = 500;
SET GLOBAL innodb_buffer_pool_size = 512M;
SET GLOBAL query_cache_size = 32M;
为了让配置永久生效,把上面三个参数加到 /etc/my.cnf 的 [mysqld] 段里。
注意 innodb_buffer_pool_size 建议设置为物理内存的50%-70%,512M只是示例,你要根据自己服务器内存调整。
3. 开启Nginx Gzip压缩
编辑 /usr/local/nginx/conf/nginx.conf,在http块里面添加:
gzip on;
gzip_min_length 1k;
gzip_comp_level 6;
gzip_types text/plain application/javascript application/x-javascript text/css image/svg+xml;
保存后执行 /usr/local/nginx/sbin/nginx -s reload 让配置生效。
之后用浏览器开发者工具看Response Headers,如果看到 Content-Encoding: gzip 就说明成功了。
避坑指南:新手最容易踩的三个雷
- 防火墙没开端口:很多云服务器默认只开了22端口,必须去控制台安全组添加入站规则,放行80、443、3306(如果需要远程连接MySQL)的TCP端口。
- MySQL远程连接失败:默认只允许本地登录,要给用户授权:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;,然后FLUSH PRIVILEGES;。 - PHP文件上传大小限制:如果发现上传大文件报错,修改php.ini里的
upload_max_filesize和post_max_size,重启PHP-FPM。
怎么验证优化真的有效
除了用phpinfo看Opcache状态,还可以用 ab (Apache Bench) 做简单的压力测试。
安装ab:yum install -y httpd-tools(CentOS)或 apt install -y apache2-utils(Ubuntu)。
然后测试你的网站首页:
ab -n 1000 -c 10 http://你的服务器IP/
关注 Requests per second,如果优化后这个数值比优化前提升了20%以上,说明你的服务器开发与服务器优化已经迈出了扎实的一步。
当然实际生产环境还有更多细节,但上面的内容足够让零基础用户完成一次完整的从零搭站到性能提升的体验。
如果你遇到问题,可以翻回避坑部分先自查,或者留言交流。