首先你需要一个Linux系统,这个不用说了哈,本文安装的是CentOs7,适用老版本的同学参考;注:CentOs7以上版本请安装对应的高级版本,否则服务很可能不兼容。

废话不说,直接开搞!

安装Nginx(无需配置多站点,看前四行就够了)

sudo yum install epel-release          #安装源
sudo yum install nginx                 #安装nginx
sudo systemctl start nginx             #启动
sudo systemctl enable nginx            #设置开机启动

#配置多站点(如需)

#创建网站目录:为每个站点创建一个目录。例如,为 example1.com 和 example2.com 

#创建目录:
sudo mkdir -p /usr/share/nginx/html/example1.com
sudo mkdir -p /usr/share/nginx/html/example2.com

#创建索引文件:在每个目录中创建简单的 HTML 文件作为索引文件,例如 index.html

echo "Welcome to example1.com" | sudo tee 

/usr/share/nginx/html/example1.com/index.html
echo "Welcome to example2.com" | sudo tee 

/usr/share/nginx/html/example2.com/index.html

#配置 Nginx:

#编辑 Nginx 的配置文件,通常位于 /etc/nginx/nginx.conf。在这个文件中,你可以包含额外的配置

#文件,每个站点一个。例如,创建一个 sites-available 和 sites-enabled 目录结构:

sudo mkdir /etc/nginx/sites-available
sudo mkdir /etc/nginx/sites-enabled

#为每个站点创建一个配置文件,例如 example1.com.conf 和 example2.com.conf,并放在 sites-available 目录中。

sudo nano /etc/nginx/sites-available/example1.com.conf
sudo nano /etc/nginx/sites-available/example2.com.conf

#在 example1.com.conf 中添加以下内容:

server {
    listen 80;
    server_name example1.com www.example1.com;
    root /usr/share/nginx/html/example1.com;
    index index.html index.htm;
}

#在 example2.com.conf 中添加以下内容:

server {
    listen 80;
    server_name example2.com www.example2.com;
    root /usr/share/nginx/html/example2.com;
    index index.html index.htm;
}

#创建符号链接:
#将 sites-available 中的配置文件链接到 sites-enabled 目录,以启用它们:

sudo ln -s /etc/nginx/sites-available/example1.com.conf /etc/nginx/sites-

enabled/example1.com.conf
sudo ln -s /etc/nginx/sites-available/example2.com.conf /etc/nginx/sites-

enabled/example2.com.conf

#测试和重新加载 Nginx:测试配置文件是否有语法错误

sudo nginx -t

#如果没有错误,重新加载 Nginx 以应用更改:

sudo systemctl reload nginx

#现在,你应该可以通过访问 http://example1.com 和 http://example2.com 来访问你的两个不同网

站了。每个站点的配置都独立于其他站点,允许你为每个站点设置不同的服务器块配置。

安装 PHP 和必要的 PHP 模块

步骤1:安装EPEL仓库、Remi仓库及核心扩展

# 安装 EPEL 仓库
sudo yum install -y epel-release
 
# 添加 Remi 仓库(PHP 7.4 官方源)
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm

#启用PHP7仓库
sudo yum-config-manager --enable remi-php74

#安装 PHP 7.4.33 及核心扩展
sudo yum install -y php php-cli php-fpm php-mysqlnd php-gd php-mbstring php-curl 

php-xml

步骤2:配置 Nginx 和 PHP-FPM

配置 PHP-FPM:
sudo vi /etc/php-fpm.d/www.conf
修改 listen = /run/php-fpm/php-fpm.sock 到 listen = 127.0.0.1:9000。保存并退出。

启动 PHP-FPM 服务:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm

步骤3:以wordpress站为例,配置Nginx文件

#创建一个新的 Nginx 站点配置文件:
sudo vi /etc/nginx/conf.d/wordpress.conf

#添加以下配置:
server {
    listen 80;
    server_name your_domain.com; # 替换为你的域名或 IP 地址
    root /var/www/wordpress; # WordPress 安装目录
    index index.php index.html index.htm;
    
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000; # PHP-FPM 监听地址和端口号
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
    
    location ~ /\.ht {
        deny all;
    }
}

#测试 Nginx 配置文件是否有误:
sudo nginx -t
#如果一切正常,重新加载 Nginx 以应用配置:
sudo systemctl reload nginx

安装Mysql

#装过的,装错的,先走下面这四行开启新篇章(毕竟排障费时间……)

sudo systemctl stop mysqld                                           #1停
sudo yum remove mysql mysql-server                                   #2删
sudo yum clean all                                                   #3清理
sudo rm -rf /var/lib/mysql /etc/my.cnf /etc/my.cnf.d /var/log/mysql* #4灭迹


#新篇章开始
sudo yum install epel-release -y                                     #确源

添加 MySQL Yum 仓库:sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm                                             #老版本用这个

sudo yum install mysql-community-server -y                           #安装
sudo systemctl start mysqld                                          #启动
sudo systemctl enable mysqld                                         #开机自启动
sudo grep 'temporary password' /var/log/mysqld.log                   #获取临时密码

#用临时密码成功登录后第一时间改ROOT密码
mysql -u root -p                                                     #临密登录

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';          #改新密码
FLUSH PRIVILEGES;
EXIT;

#设置root账号远程可以访问
use mysql;
select user,host from user;
update user set host = ‘%’ where user = ‘root’;

Mysql启动失败的看这里,送排障(按照上面的步骤一般不会出现,但万一........)

一、MySQL服务启动问题排查

#检查数据目录状态
systemctl status mysql 查看服务状态,确认错误是否指向 /var/lib/mysql/ 目录不可用

#验证目录是否存在:
ls -ld /var/lib/mysql

#日志文件处理,检查错误日志:
tail -f /var/log/mysql/error.log(若不存在需手动创建目录和文件)

#初始化数据目录:
sudo mysqld --initialize(首次安装时需要)

二、SSH认证失败处理

用户权限检查
#确认root用户密码是否已设置:
sudo passwd root

#检查PAM配置:
cat /etc/pam.d/sshd 确认认证模块配置正确

#关键配置文件验证检查 /etc/shadow 文件权限:
ls -l /etc/shadow(应仅root可读写)

#验证SSH配置:
grep PermitRootLogin /etc/ssh/sshd_config

三、综合解决方案步骤

#修复MySQL目录问题:
bash
Copy Code
sudo mkdir -p /var/lib/mysql
sudo chown mysql:mysql /var/lib/mysql
sudo mysqld --initialize

#处理SSH认证问题:
bash
Copy Code
sudo passwd root  # 重置root密码
sudo systemctl restart sshd

#验证服务状态:
bash
Copy Code
systemctl status mysql
journalctl -xe  # 查看详细系统日志


#该问题通常由目录权限配置不当或服务初始化不完整导致,建议检查SELinux状态(若启用)并确保所

有服务依赖项已安装。对于生产环境,建议创建专用数据库用户而非直接使用root账户操作。

打完收工~   下班下班

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐