Windows安装Nginx+PHP+MySQL+phpMyAdmin(无需管理员)

最近Sham闲着无事,就想着用公司电脑搭个临时服务器,用于测试什么的,但是问题是公司电脑是没有管理员权限的,无法安装像宝塔面板、PHPStudy啊什么的,于是想着如果一个个手动安装,如果有绿色包,那不就行了?

搜索了一圈 ,终于实现了需求,下面就来完整介绍下,以下都是在无需(没有)管理员权限的前提下操作的3

首先是下载各个软件的安装包、绿色包

Nginx官网下载:http://nginx.org/en/download.html

PHP官网下载:https://windows.php.net/download

MySQL官网下载:https://dev.mysql.com/downloads/installer/

phpMyAdmin官网下载:https://www.phpmyadmin.net/

Sham公司电脑是Win10的,所以下载的都是windows版,其中PHP我下载的是7.3的,因为发现8.0的因为有些变化,导致Sham原来的php代码会报错,其他的随意,Sham都选的最新版

下载完成后,就是解压、解压、解压,没错,解压就行了,然后就能用了,下面是各个软件启用介绍

首先来Nginx

找到conf/nginx.conf,打开编辑(可以考虑先备份一份,防止改残了)

#找到listen 80,将它替换成你自己想要的端口,因为Sham的80端口被占用了,所以改了,比如
listen 1080
#然后因为PHP是用CGI的方式来使用的,所以这个里面还要有如下代码(本来就有,因为使用时发现一些问题,所以按网上的方式改了下)
#下面的D:/shamweb/nginx/html是指网站更目录地址,这个文件里几个root,如果默认不好使的话,可以也改成你自己的根目录地址
#其中127.0.0.1:9000这个,需要和后面php运行时设置的一致
location ~ \.php$ {
        root           D:/shamweb/nginx/html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
	set $real_script_name $fastcgi_script_name;
	if ($real_script_name ~ "^(.+?\.php)(/.+)$") {
	    set $real_script_name $1;
	}
	fastcgi_split_path_info ^(.+?\.php)(/.*)$;
	fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param  SCRIPT_FILENAME  D:/shamweb/nginx/html$fastcgi_script_name;
        include        fastcgi_params;
 }

#下面这段是为了支持phpMyAdmin的,这里直接放上,端口号随意,这个是后面访问phpMyAdmin用的
server {
	listen 1090;
	server_name localhost;
	access_log D:/shamweb/phpmyadmin-access.log;

	location / {
		root D:/shamweb/phpMyAdmin;
		index index.php;
	}

	location ~ \.php$ {
		root D:/shamweb/phpMyAdmin;
		fastcgi_pass   127.0.0.1:9000;
		fastcgi_index  index.php;
		set $real_script_name $fastcgi_script_name;
		if ($real_script_name ~ "^(.+?\.php)(/.+)$") {
			set $real_script_name $1;
		}
		fastcgi_split_path_info ^(.+?\.php)(/.*)$;
		fastcgi_param PATH_INFO $fastcgi_path_info;
		fastcgi_param  SCRIPT_FILENAME  D:/shamweb/phpMyAdmin$fastcgi_script_name;
		include        fastcgi_params;
	}

	location ~ /\.ht {
		deny all;
	}
}

然后保存,这时你运行nginx.exe,然后访问http://127.0.0.1:1080,就发现能看到nginx安装成功的页面啦;

然后是安装PHP

找到php.ini-development,复制一份,并更名为php.ini

打开编辑,修改如下

#将如下3行代码前面的“#”号去掉,去掉注释使他生效
extension_dir = "./"
On windows:
extension_dir = "ext"

#然后因为要用到一些功能,可以提前将如下代码前的#去掉,主要是让它支持mysqli语句,能使用phpMyAdmin
extension=mysqli
extension=openssl
#如果还有用到其他的,请自行选择(可以后面碰到问题的时候再来打开)

然后需要运行php,需要在CMD中运行如下代码,这里的9000就是上面nginx里设置的一致的

D:/shamweb/php7.3/php-cgi.exe -b 127.0.0.1:9000 -c D:/shamweb/php7.3/php.ini

下面是安装Mysql

在bin目录下,新建一个my.ini,里面代码参考如下:

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:/shamweb/mysql8
# 设置mysql数据库的数据的存放目录
datadir=D:/shamweb/mysql8/data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#skip-grant-tables
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

然后进入cmd运行

#首先需要cd 到mysql8/bin,如果默认在C盘的话
D:
cd D:/shamweb/mysql8/bin

#下面这个是用来初始化安装的
mysqld --initialize

#下面这个是用来启动MySQL的
mysqld --console

这里有一点,因为不知道初始密码(如果是安装包的话,安装过程可以看到密码),所以要先让他能无密码访问

打开 my.ini 把 #skip-grant-tables 的 # 去掉,重启服务

然后输入:

mysql -uroot -p
#这样可以无秘进入mysql,可以看到mysql>,然后修改密码
#下面这个是老版的
update mysql.user SET password=password(‘写你的新密码’) where user=‘root’;
#下面这个是MySQL 8.x版的,应该是的, 上面那个不管用时可以用下面这个
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'

改好密码之后,再回去把skip-grant-tables前面呢#号加上

然后再重启服务,这样基本MySQL就完成了

最后就是安装phpMyAdmin来管理MySQL

找到libraries/config.default.php,打开并编辑

#找到$cfg['Servers'][$i]['user'] ,将=号后面的值设成(默认是root)
$cfg['Servers'][$i]['user'] = 'root';

#找到$cfg['Servers'][$i]['password'],将=号后面的值设成你上面修改的密码
$cfg['Servers'][$i]['password'] = 'xxx';

#找到$cfg['PmaAbsoluteUri'],将=号后面的值设成服务器网址,本机就默认就行
$cfg['PmaAbsoluteUri'] = '127.0.0.1';

#如果只是本地测试的话,将$cfg['Servers'][$i]['auth_type'] = 'cookie';中的cookie改为config
$cfg['Servers'][$i]['auth_type'] = 'config';

至此,就完成了服务器基础套件的安装啦;

当然,问了方便,可以通过做成一个bat文件来1键执行,这里需要用到RunHiddenConsole工具,具体大家可以百度搜索下

start_nginx_php_mysql.bat

@echo off
set php_home=./php7.3
set nginx_home=./nginx
set mysql_home=./mysql8/bin

REM Windows 下无效
REM set PHP_FCGI_CHILDREN=5

REM 每个进程处理的最大请求数,或设置为 Windows 环境变量
set PHP_FCGI_MAX_REQUESTS=1000

echo Starting PHP FastCGI...
RunHiddenConsole %php_home%/php-cgi.exe -b 127.0.0.1:9000 -c %php_home%/php.ini
 
echo Starting nginx...
RunHiddenConsole %nginx_home%/nginx.exe -p %nginx_home%

echo Starting MySQL...
RunHiddenConsole %mysql_home%/mysqld --console

然后是关闭的(不用的时候一定要关闭,不然一直留在内存中运行)

stop_nginx_php_mysql.bat

@echo off
echo Stopping nginx...  
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
echo Stopping MySQL...
taskkill /F /IM mysqld.exe > nul
exit

完事儿,因为是在久经多次失败后才完成的,中间不确定是否有遗漏,大家可以先不用bat,一个个用cmd来执行,这样能看到报错信息,再搜索对应解决方法,一步步实现吧

 

一个在前往码农道路上走走停停的行政文员

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一些安装步骤。 1. 安装Nginx最新版 首先,安装一些必要的依赖项: ``` sudo dnf install epel-release sudo dnf install nginx ``` 安装后,启动Nginx服务: ``` sudo systemctl start nginx ``` 可以使用以下命令检查Nginx是否正在运行: ``` sudo systemctl status nginx ``` 2. 安装MySQL 8 安装MySQL 8之前,需要添加MySQL存储库并导入MySQL GPG密钥。 ``` sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm sudo yum install mysql-server ``` 安装后,启动MySQL服务: ``` sudo systemctl start mysqld ``` 可以使用以下命令检查MySQL是否正在运行: ``` sudo systemctl status mysqld ``` 3. 安装PHP8 安装PHP8之前,需要添加Remi存储库并导入Remi GPG密钥。 ``` sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm sudo dnf install php php-fpm php-mysqlnd php-json php-mbstring ``` 安装后,启动PHP-FPM服务: ``` sudo systemctl start php-fpm ``` 可以使用以下命令检查PHP-FPM是否正在运行: ``` sudo systemctl status php-fpm ``` 4. 安装phpMyAdmin 安装phpMyAdmin之前,需要安装EPEL存储库: ``` sudo dnf install epel-release ``` 安装phpMyAdmin: ``` sudo dnf install phpMyAdmin ``` 安装后,编辑phpMyAdmin配置文件: ``` sudo vi /etc/httpd/conf.d/phpMyAdmin.conf ``` 将以下行中的IP地址替换为您的服务器IP地址: ``` Require ip 127.0.0.1 ``` 然后,重启Apache服务: ``` sudo systemctl restart httpd ``` 5. 安装LogAnalyzer 安装LogAnalyzer之前,需要安装EPEL存储库和Remi存储库。 ``` sudo dnf install epel-release sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm ``` 安装LogAnalyzer: ``` sudo dnf install logwatch logwatch-logrotate logwatch-cron logwatch-doc sudo dnf install logwatch httpd php php-gd php-mbstring sudo dnf install rsyslog-mysql ``` 安装后,编辑LogAnalyzer配置文件: ``` sudo vi /etc/httpd/conf.d/loganalyzer.conf ``` 将以下行中的IP地址替换为您的服务器IP地址: ``` Allow from 127.0.0.1 ``` 然后,重启Apache服务: ``` sudo systemctl restart httpd ``` 6. 安装logstash和kibana 安装logstash和kibana之前,需要添加Elastic存储库和导入Elastic GPG密钥。 ``` sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch sudo vi /etc/yum.repos.d/elasticsearch.repo ``` 将以下内容添加到文件中: ``` [elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md ``` 保存并退出文件,然后安装logstash和kibana: ``` sudo dnf install logstash kibana ``` 安装后,编辑Logstash配置文件: ``` sudo vi /etc/logstash/conf.d/log.conf ``` 将以下内容添加到文件中: ``` input { file { path => "/var/log/nginx/access.log" start_position => "beginning" } } filter { grok { match => { "message" => "%{COMBINEDAPACHELOG}" } } } output { elasticsearch { hosts => ["localhost:9200"] index => "nginx-access-%{+YYYY.MM.dd}" } } ``` 保存并退出文件,然后启动Logstash服务: ``` sudo systemctl start logstash ``` 可以使用以下命令检查Logstash是否正在运行: ``` sudo systemctl status logstash ``` 编辑Kibana配置文件: ``` sudo vi /etc/kibana/kibana.yml ``` 将以下行中的IP地址替换为您的服务器IP地址: ``` server.host: "localhost" ``` 然后,启动Kibana服务: ``` sudo systemctl start kibana ``` 可以使用以下命令检查Kibana是否正在运行: ``` sudo systemctl status kibana ``` 至此,CentOS 8稳定版上安装Nginx最新版、MySQL 8、PHP8、phpMyAdmin、LogAnalyzer、logstash和kibana。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值