您现在的位置是:烟消火灭网 > 娱乐
如何在centos做服务器做网站
烟消火灭网2026-10-17 07:45:01【娱乐】0人已围观
简介在CentOS上搭网站,最省事的路径是LNMP或LAMP。我经手过的生产环境里,CentOS 7 + Nginx + PHP-FPM + MariaDB 这套组合跑个中小型站点,三年不重启是常事。下面
在CentOS上搭网站,服务最省事的网站路径是LNMP或LAMP。我经手过的服务生产环境里,CentOS 7 + Nginx + PHP-FPM + MariaDB 这套组合跑个中小型站点,网站三年不重启是服务常事。下面直接说操作。网站
系统准备
装完CentOS,服务先关掉SELinux。网站这东西拦权限拦得莫名其妙,服务新手调半天以为是网站Nginx配置错了,其实是服务它在作祟。执行:
setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
防火墙要么关,网站要么放行80和443。服务我一般直接systemctl stop firewalld再systemctl disable firewalld,网站内网机器没那么多讲究。服务公网机器另说,安全组层面控制就行。
装Nginx
CentOS默认源里没有Nginx,得先加EPEL:
yum install epel-release -y yum install nginx -y systemctl start nginx systemctl enable nginx
浏览器访问服务器IP,看到Nginx欢迎页就算成了。配置文件在/etc/nginx/nginx.conf,站点配置丢/etc/nginx/conf.d/下面,一个站一个.conf文件,别全塞主配置里,后期维护会疯。
装PHP
CentOS 7自带的PHP是5.4,太老。用Remi源装7.4或8.0:
yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y yum install yum-utils -y yum-config-manager --enable remi-php74 yum install php php-fpm php-mysqlnd php-gd php-mbstring php-xml -y
启动php-fpm:systemctl start php-fpm。Nginx和PHP之间的通信走9000端口,默认配置就行。记得在站点配置里加:
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } 装数据库
MariaDB是MySQL的亲兄弟,CentOS 7直接yum install mariadb-server mariadb -y。启动后跑mysql_secure_installation,一路回车设好root密码。建库建用户:
CREATE DATABASE mysite; CREATE USER 'siteuser'@'localhost' IDENTIFIED BY '你的密码'; GRANT ALL PRIVILEGES ON mysite.* TO 'siteuser'@'localhost'; FLUSH PRIVILEGES;
放代码,调权限
把网站文件扔/var/www/html/或者自定义目录。Nginx默认跑在nginx用户下,PHP-FPM跑在apache用户下,权限不对就报502。我习惯把网站目录属主设成nginx:chown -R nginx:nginx /var/www/html,目录755,文件644。别手贱给777,线上机器这么干等于裸奔。
一个实际案例
去年帮朋友迁一个WordPress站,CentOS 7 + Nginx 1.16 + PHP 7.4 + MariaDB 10.3,1核2G的阿里云轻量。没装面板,纯命令行。上传文件、导数据库、改wp-config.php里的连接信息,前后不到二十分钟。跑起来之后用ab -n 1000 -c 50压了一下,静态页QPS能到三千多。PHP页面因为没上缓存,掉到一百出头,后来加了Redis才缓过来。所以硬件差不是问题,缓存该上还得上。
收尾
域名解析到服务器IP,Nginx里server_name写上域名。要HTTPS就certbot一条命令的事:yum install certbot python2-certbot-nginx -y,然后certbot --nginx,证书自动续期也帮你配好。
整套下来,一台CentOS服务器从裸机到能跑动态网站,熟练的话半小时内搞定。关键就三件事:SELinux别挡道、PHP-FPM和Nginx权限对齐、数据库连接信息别写错。剩下的就是往上堆代码了。
很赞哦!(244)







