安装mysql服务
1.下载地址:https://downloads.mysql.com/archives/community/
2.下载相应windows版本
3.解压后cmd cd到文件目录mysqld.exe 执行 mysqld.exe install【mysqld remove 移除服务 mysqld start 启动服务】
4.设置开机启动 然后再win+r 输入services.msc 打开后找到mysql 右键点击属性 将启动类型设置为自动即可
【注:期间不同版本可能会报奇奇怪怪的错,百度安装相关的版本vc库】
1.缺少msvcr100.dll文件如何解决
百度Visual C++ 2010 Redistributable Package 搜索相关 下载安装
mysql 相关操作
修改密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'Storage@202312' WITH GRANT OPTION;
安装php
1.下载地址:https://windows.php.net/downloads/releases/archives/
2.下载版本必须有 php7apache2_4.dll vc版本最好跟apache的版本一样
3.配置php.ini 开启相应 扩展
4.测试是否能用 到相应目录 执行 php.exe -v
【注:期间不同版本可能会报奇奇怪怪的错,百度安装相关的版本vc库】
【注:建议放在c:\php目录,不然可能出现无法加载到ddl扩展】
安装apache 服务器
##apache 安装对接php
下载:https://www.apachelounge.com/download/VC14/
到apache/config/httpd.conf文件
找到<IfModule unixd_module>配置行 在其上面添加
LoadModule php7_module C:/php/php7apache2_4.dll 【php7apache2_4.dll 不同版本不同 具体目录根据自己的配置】
AddType application/x-httpd-php .php .html .htm
PHPIniDir c:/php 【配置PHP所在目录 具体目录根据自己的配置】
然后通过bin目录下 **httpd.exe -t** 测试配置是否通过
bin目录下 ApacheMonitor.exe 可以用来启动关闭 httpd服务
配置apache项目访问
1.配置项
httpd.exe -k install -n "apache2.4"
1.ServerName 配置域名访问地址
例:ServerName 192.168.100.34:8080 ServerName www.baidu.com
2.ServerRoot 配置apache安装目录
例 Define SRVROOT "c:/httpd"
ServerRoot "${SRVROOT}"
3.Listen 监听端口
例 Listen 8080
4.DocumentRoot 配置项目目录
例: DocumentRoot "${SRVROOT}/htdocs/jnyy.iguanwei.com/public"
5.<Directory 目录>
权限
</>Directory>
配置目录权限相关
例:
<Directory "${SRVROOT}/htdocs/jnyy.iguanwei.com/public">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
6.配置默认访问文件
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
vhost配置示例
主配置文件httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
Include conf/extra/httpd-vhosts.conf
vhost配置文件
<VirtualHost *:8081>
ServerAdmin webmaster@localhost
DocumentRoot "E:/wwwroot/storage/public"
DirectoryIndex index.php
ErrorLog "logs/storage-error.log"
CustomLog "logs/storage-access.log" common
<Directory "E:/wwwroot/storage/public">
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
DirectoryIndex index.php index.html
AddType application/octet-stream .jpg .jpeg .png .gif .mp4 .avi .mov .flv
</Directory>
</VirtualHost>
<VirtualHost *:8082>
ServerAdmin webmaster@localhost
DocumentRoot "E:/wwwroot/storage-web"
DirectoryIndex index.html
ErrorLog "logs/storage-web-error.log"
CustomLog "logs/storage-web-access.log" common
<Directory "E:/wwwroot/storage-web">
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
DirectoryIndex index.html
</Directory>
</VirtualHost>
2.php伪静态
1. httpd.conf配置文件 启动rewrite模块 如下:
LoadModule rewrite_module modules/mod_rewrite.so
2.项目根目录.htaccess文件配置入下 没有则新建
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]
</IfModule>
3.对应apache httpd.conf配置文件
AllowOverride All
<Directory 项目目录>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
3.vue项目伪静态
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</ifModule>
配置开机启动
1.将apache加入windows服务
apache的bin目录下 执行 httpd.exe -thttpd.exe -k install -n "apache2.4"
2.设置开机启动 然后再win+r 输入services.msc 打开后找到mysql 右键点击属性 将启动类型设置为自动即可
apache相关知识
windows下apache常用命令
httpd -k install 安装apache服务
httpd -k uninstall 移除apache服务
httpd -k start 启动apache服务
httpd -k restart 重启apache服务
httpd -k stop 关闭已安装的apache服务
httpd -v 查看apache版本
httpd -t 查看apache配置文件状态
重写规则
网站根目录下创建 .htaccess 文件
1) R[=code](force redirect) #强制外部重定向
强制在替代字符串加上http://thishost[:thisport]/前缀重定向到外部的URL.如果code不指定,将用缺省的302 HTTP状态码。
2) F(force URL to be forbidden) #禁用URL,返回403HTTP状态码。
3) G(force URL to be gone) # 强制URL为GONE,返回410HTTP状态码。
4) P(force proxy) # 强制使用代理转发。
5) L(last rule) # 表明当前规则是最后一条规则,停止分析以后规则的重写。
6) N(next round) # 重新从第一条规则开始运行重写过程。
7) C(chained with next rule) # 与下一条规则关联
如果规则匹配则正常处理,该标志无效,如果不匹配,那么下面所有关联的规则都跳过。
8) T=MIME-type(force MIME type) # 强制MIME类型
9) NS (used only if no internal sub-request) # 只用于不是内部子请求
10) NC(no case) # 不区分大小写
11) QSA(query string append) # 追加请求字符串
12) NE(no URI escaping of output) # 不在输出转义特殊字符
例如:RewriteRule /foo/(.*) /bar?arg=P1%3d$1 [R,NE] # 将能正确的将/foo/zoo转换成/bar?arg=P1=zoo
13) PT(pass through to next handler) # 传递给下一个处理
例如:
RewriteRule ^/abc(.*) /def$1 [PT] # 将会交给/def规则处理
Alias /def /ghi
14) S=num(skip next rule(s)) # 跳过num条规则
15) E=VAR:VAL(set environment variable) # 设置环境变量
HTTP 跳转至 HTTPS 示例
RewriteEngine on # 开启重写
RewriteCond %{SERVER_PORT} !^443$ # 如果访问的不是 443 端口
RewriteCond %{REQUEST_URI} !^/tz.php #如果访问的url 不是 /tz.php
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R] # 跳转到 https://域名+$1
HTTP 80 强制转 HTTPS
RewriteEngine On
RewriteCond %{SERVER_PORT} 80 # 如果访问的是80 端口
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L] # 跳转 https
强制301重定向 HTTPS
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase / # 表示项目根目录
RewriteCond %{SERVER_PORT} !^443$ # 如果访问的不是443 端口
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L] # 重定向到 301
</IfModule>
重命名目录
RewriteRule ^/?old_directory/([a-z\.]+)$ new_directory/$1 [R=301,L]
图片防盗链
RewriteCond %{HTTP_REFERER} !^$ # 如果上个页面地址为空
RewriteCond %{HTTP_REFERER} !^http://(www.)?example.com/ [NC] #或者不是来自你自己的域名
RewriteRule .(gif|jpg|png)$ - [F] #禁止访问
如果文件不存在重定向到404页面
RewriteCond %{REQUEST_FILENAME} !-f # 如果访问的不是一个文件
RewriteCond %{REQUEST_FILENAME} !-d #如果访问的不是一个目录
RewriteRule .? /404.php [L] #跳转到网站根目录
# 也可携带参数
#RewriteRule ^/?(.*)$ /404.php?url=$1 [L]