为Mac配置服务器nginx

我们的项目基于SSI技术实现前后端完全分离,同事都用Apache,我比较喜欢nginx。

安装方法源自:http://www.codingcool.com/2013/07/18/在mac-os-x-10-9上编译安装nginx/

接着往下转:

1.先安装PCRE库(转注:nginx rewrite依赖该库)

可以在这里下载最新版,我这里使用的是8.33的版本然后在终端执行下面的命令。

 
 
  1. cd ~/Download
  2. tar xvzf pcre-8.33.tar.gz
  3. cd pcre-8.33
  4. sudo ./configure --prefix=/usr/local
  5. sudo make
  6. sudo make install

2.下载安装nginx

首先在nginx官网下载最新的源码,我这里用的是nginx-1.5.2

 
 
  1. tar -zvxf nginx-1.5.2.tar.gz
  2. cd nginx-1.5.2
  3. ./configure --prefix=/usr/local/nginx --with-cc-opt="-Wno-deprecated-declarations"
  4. make
  5. make install

2015年03月19日注:在最新版Mac系统 10.10+中,nginx编译过程需要用到的MD5相关API已经是deprecated的了,会报错,类似于

 
 
  1. cc1: warnings being treated as errors
  2. src/core/ngx_crypt.c: In function ngx_crypt_apr1’:
  3. src/core/ngx_crypt.c:76: warning: MD5_Init is deprecated (declared
  4. at /usr/include/openssl/md5.h:113)
  5. src/core/ngx_crypt.c:77: warning: MD5_Update is deprecated
  6. (declared at /usr/include/openssl/md5.h:114)
  7. ....

解决方法就是在配置时候增加参数如下:

 
 
  1. ./configure --with-cc-opt="-Wno-deprecated-declarations"

默认编译概要:

 
 
  1. Configuration summary
  2. + using system PCRE library
  3. + OpenSSL library is not used
  4. + md5: using system crypto library
  5. + sha1: using system crypto library
  6. + using system zlib library
  7.  
  8. # 默认编译参数对应的安装路径(*_temp 为目录)
  9. nginx path prefix: "/usr/local/nginx"
  10. nginx binary file: "/usr/local/nginx/sbin/nginx"
  11. nginx configuration prefix: "/usr/local/nginx/conf"
  12. nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  13. nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  14. nginx error log file: "/usr/local/nginx/logs/error.log"
  15. nginx http access log file: "/usr/local/nginx/logs/access.log"
  16. nginx http client request body temporary files: "client_body_temp"
  17. nginx http proxy temporary files: "proxy_temp"
  18. nginx http fastcgi temporary files: "fastcgi_temp"
  19. nginx http uwsgi temporary files: "uwsgi_temp"
  20. nginx http scgi temporary files: "scgi_temp"

为了方便:(转注:我选择这个方式)

 
 
  1. sudo ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx
  2. sudo ln -s /usr/local/nginx/conf /etc/nginx
  3. sudo ln -s /usr/local/nginx/logs/nginx.pid /var/run/nginx.pid
  4. sudo ln -s /usr/local/nginx/logs /var/log/nginx

或者直接在编译时设定

 
 
  1. ./configure \
  2. --sbin-path=/usr/local/bin/nginx \
  3. --conf-path=/etc/nginx \
  4. --pid-path=/var/run \
  5. --error-log-path=/var/log/nginx \
  6. --http-log-path=/var/log/nginx

编译参数参考 Nginx InstallOption

3.启动Nginx

检查PATH环境变量

 
 
  1. # ~/.bash_profile export PATH=/usr/local/bin:/usr/local/sbin:$PATH

启动Nginx

 
 
  1. sudo nginx

需要停止Nginx的时候运行

 
 
  1. sudo nginx -s stop

4.配置自启动

创建文件 /System/Library/LaunchDaemons/nginx.plist

 
 
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3. <plist version="1.0">
  4. <dict>
  5. <key>Label</key>
  6. <string>nginx</string>
  7. <key>KeepAlive</key>
  8. <true/>
  9. <key>Program</key>
  10. <string>/usr/local/bin/nginx</string>
  11. <key>RunAtLoad</key>
  12. <true/>
  13. </dict>
  14. </plist>

载入自启动文件

 
 
  1. launchctl load -w /System/Library/LaunchDaemons/nginx.plist

2015年03月24日后记:
这次是在RMBP OSX Yosemite系统安装nginx 1.6.2, 按以上步骤安装很顺利,但是最后修改nginx默认端口为80后,发现我放在~/Documents目录下的项目访问都是403 Forbidden了。一阵折腾,几次重装之后,Google到了另一篇brew安装nginx过程的介绍,出现了同样的问题,最后是通过修改~/Documents目录权限为o+x才得以解决。之前我判断权限导致该问题,只修改项目所在目录权限为777也是无法解决的。

转帖:http://cssor.com/mac-nginx.html

深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值