Showing posts with label nginx. Show all posts
Showing posts with label nginx. Show all posts
Thursday, April 25, 2019
linux: 在ubuntu14.04上安裝nginx+php
https://www.cnblogs.com/lurenjiashuo/p/ubuntu-nginx-thinkphp.html
Https: self sign setting for nginx
mkdir -p /usr/local/etc/ssl/private
mkdir -p /usr/local/etc/ssl/certs
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /usr/local/etc/ssl/private/nginx-selfsigned.key -out /usr/local/etc/ssl/certs/nginx-selfsigned.crt
sudo openssl dhparam -out /usr/local/etc/ssl/certs/dhparam.pem 128
mkdir -p /usr/local/etc/nginx/snippets
touch /usr/local/etc/nginx/snippets/self-signed.conf
sudo vim /usr/local/etc/nginx/snippets/self-signed.conf
填入
touch /usr/local/etc/nginx/snippets/ssl-params.conf
sudo vim /usr/local/etc/nginx/snippets/ssl-params.conf
填入
填入
https://blog.gtwang.org/linux/nginx-create-and-install-ssl-certificate-on-ubuntu-linux/
mkdir -p /usr/local/etc/ssl/certs
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /usr/local/etc/ssl/private/nginx-selfsigned.key -out /usr/local/etc/ssl/certs/nginx-selfsigned.crt
sudo openssl dhparam -out /usr/local/etc/ssl/certs/dhparam.pem 128
mkdir -p /usr/local/etc/nginx/snippets
touch /usr/local/etc/nginx/snippets/self-signed.conf
sudo vim /usr/local/etc/nginx/snippets/self-signed.conf
填入
ssl_certificate /usr/local/etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /usr/local/etc/ssl/private/nginx-selfsigned.key;
touch /usr/local/etc/nginx/snippets/ssl-params.conf
sudo vim /usr/local/etc/nginx/snippets/ssl-params.conf
填入
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
ssl_dhparam /usr/local/etc/ssl/certs/dhparam.pem;
sudo vim /usr/local/etc/nginx/nginx.conf填入
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
proxy_http_version 1.1;
# configure nginx server to redirect to HTTPS
server {
listen 1337;
server_name localhost;
return 302 https://$server_name:7332$request_uri;
}
# configure nginx server with ssl
server {
listen 1338 ssl http2;
server_name localhost;
include snippets/self-signed.conf;
include snippets/ssl-params.conf;
# route requests to the local development server
location / {
proxy_pass http://localhost:8080/;
}
}
include servers/*;
}
或者參考這個︰https://blog.gtwang.org/linux/nginx-create-and-install-ssl-certificate-on-ubuntu-linux/
Wednesday, February 13, 2019
docker: nginx + php
下載docker images
docker pull nginx
docker pull bitnami/php-fpm
運行php-fpm和nginx,使用/var/www/html作為host的網頁目錄,不用進入docker進行修改
docker run -d -v /var/www/html:/usr/share/nginx/html --name php-fpm docker.io/bitnami/php-fpm
docker run -d --name nginx -p 8888:80 -v /var/www/html:/usr/share/nginx/html docker.io/nginx
檢查是否運行,以及IP位置
docker ps -a
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
Option 1: 進入nginx修改網頁IP位置,不想在container裏面裝vi的話看下一步。
docker exec -it nginx /bin/bash
vi /etc/nginx/conf.d/default.conf
Option 2: 可以複製出來再修改
docker cp nginx:/etc/nginx/conf.d/default.conf ./
vi default.conf
修改後再放回去
docker cp ./default.conf nginx:/etc/nginx/conf.d/default.conf
修改這幾項,填入上一步查詢到的IP,其他保留︰
service_name = [[NGINX_IP]];
location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
}
location ~ \.php$ {
fastcgi_pass [[PHP_FPM_IP]]:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
include fastcgi_params;
}
重啓nginx即可成功。
docker restart nginx
使用host的IP + 8888 port就可以訪問。
例如192.168.199.2:8888
中間筆記 不用理:
進入container
docker exec -it myNginx /bin/bash
離開
ctrl+p+q
docker run --restart=always --name mysql -v /etc/localtime:/etc/localtime:ro -p 3306:3306 -v /works/db:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=rootroot -e MYSQL_DATABASE=test_project -e MYSQL_USER=project -e MYSQL_PASSWORD=12345678 -d mysql/mysql-server:5.5
docker run --restart=always --name php-fpm_5.2 -v /etc/localtime:/etc/localtime:ro -v /works/www:/works/www --link mysql:db -d helder/php-5.2
docker run --restart=always --name nginx -v /etc/localtime:/etc/localtime:ro -p 80:80 -e NGINX_SITE_ROOT=/works/www -v /works/www:/works/www -v /works/nginx/log:/var/log/nginx/ --link php-fpm_5.2:phpfpm -d nginx
docker pull nginx
docker pull bitnami/php-fpm
運行php-fpm和nginx,使用/var/www/html作為host的網頁目錄,不用進入docker進行修改
docker run -d -v /var/www/html:/usr/share/nginx/html --name php-fpm docker.io/bitnami/php-fpm
docker run -d --name nginx -p 8888:80 -v /var/www/html:/usr/share/nginx/html docker.io/nginx
檢查是否運行,以及IP位置
docker ps -a
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
Option 1: 進入nginx修改網頁IP位置,不想在container裏面裝vi的話看下一步。
docker exec -it nginx /bin/bash
vi /etc/nginx/conf.d/default.conf
Option 2: 可以複製出來再修改
docker cp nginx:/etc/nginx/conf.d/default.conf ./
vi default.conf
修改後再放回去
docker cp ./default.conf nginx:/etc/nginx/conf.d/default.conf
修改這幾項,填入上一步查詢到的IP,其他保留︰
service_name = [[NGINX_IP]];
location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
}
location ~ \.php$ {
fastcgi_pass [[PHP_FPM_IP]]:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
include fastcgi_params;
}
重啓nginx即可成功。
docker restart nginx
使用host的IP + 8888 port就可以訪問。
例如192.168.199.2:8888
中間筆記 不用理:
進入container
docker exec -it myNginx /bin/bash
離開
ctrl+p+q
docker run --restart=always --name mysql -v /etc/localtime:/etc/localtime:ro -p 3306:3306 -v /works/db:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=rootroot -e MYSQL_DATABASE=test_project -e MYSQL_USER=project -e MYSQL_PASSWORD=12345678 -d mysql/mysql-server:5.5
docker run --restart=always --name php-fpm_5.2 -v /etc/localtime:/etc/localtime:ro -v /works/www:/works/www --link mysql:db -d helder/php-5.2
docker run --restart=always --name nginx -v /etc/localtime:/etc/localtime:ro -p 80:80 -e NGINX_SITE_ROOT=/works/www -v /works/www:/works/www -v /works/nginx/log:/var/log/nginx/ --link php-fpm_5.2:phpfpm -d nginx
Subscribe to:
Posts (Atom)